Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать
Модераторы: kdv, dimitr
-
Freshman
- Сообщения: 3
- Зарегистрирован: 13 дек 2005, 23:11
Сообщение
Freshman » 13 дек 2005, 23:37
Подскажите, пожалуйста!
При попытке выполнения запроса
Код: Выделить всё
select cast(c.rdb$default_collate_name as varchar(64))
from rdb$database d
выдается ошибка
Data type unknown CHARACTER SET is not defined
Та же ошибка проявляется при выполнении других запросов, связанных с выводом текстовых полей
Используется Firebird 1.5, ОС Win2k
-
dimitr
- Разработчик Firebird
- Сообщения: 888
- Зарегистрирован: 26 окт 2004, 16:20
Сообщение
dimitr » 14 дек 2005, 11:06
1) В таблице RDB$DATABASE нет поля RDB$DEFAULT_COLLATE_NAME
2) Запрос нерабочий - в нем перепутаны алиасы
Почему бы не показать реальный пример, а?
-
Freshman
- Сообщения: 3
- Зарегистрирован: 13 дек 2005, 23:11
Сообщение
Freshman » 14 дек 2005, 11:15
С папками порядок - рядом лежит еще одна база, с ней такой ошибки не возникает. GFIX ошибок не находит, backup - restore проходят нормально... Попутно еще вопрос: сама база старая, в свое время были созданы таблицы с именами столбцов, которые теперь попали в "черный список" (их имена type). Можно ли с ними что-то сделать? Непосредственно к этим столбцам по их именам обращаться не получается...
-
Dimitry Sibiryakov
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Сообщение
Dimitry Sibiryakov » 14 дек 2005, 11:28
Freshman писал(а):С папками порядок - рядом лежит еще одна база, с ней такой ошибки не возникает.
Может, у нее charset none...
Freshman писал(а):(их имена type). Можно ли с ними что-то сделать? Непосредственно к этим столбцам по их именам обращаться не получается...
Базу привести в третий диалект, обращаться по именам в кавычках. А лучше создать новую базу и данные перегнать.
-
Freshman
- Сообщения: 3
- Зарегистрирован: 13 дек 2005, 23:11
Сообщение
Freshman » 15 дек 2005, 22:33
Извините, не тот код схватил...
Не работает вот такое преобразование:
Код: Выделить всё
select cast('something' as varchar(255)) from MYTABLE
Та же ерунда при попытке создать хранимую процедуру с возвращаемыми значениями типов
char или
varchar
если это
charset none что можно сделать?
P.S. Ошибка появилась после падения базы