Страница 1 из 2

Русские буквы в названии полей

Добавлено: 20 дек 2006, 13:55
Vetal
Здравствуйте!
случайно в названии полей были добавлены русские буквы... в результате таблица создана но вообще без полей и удалить я ее не могу. Подскажите плиз где искать ответ.

Добавлено: 20 дек 2006, 13:56
Dimitry Sibiryakov
Вообще без полей не бывает. Чем смотришь?
Дропать такие поля надо используя кавычки.

Добавлено: 20 дек 2006, 14:01
Vetal
Смотрю IBExpert 2006/10/14 работаю с Fierbird 2.0 при создании поля появилиь и исчезли... дропнуть талицу нельзя пишет

Arithmetic overflow or division by zero has occurred.
arithmetic exception, numeric overflow, or string truncation.
Cannot transliterate character between character sets.

у меня в настройках Win 1251

Добавлено: 20 дек 2006, 14:22
Vetal
поля не отображаются... таблица пустая а дропнуть ее нельзя блин... НУ посоветуйте...

Добавлено: 20 дек 2006, 14:30
Dimitry Sibiryakov
Брось эту гуевую примочку. Запусти isql. А дальше

Код: Выделить всё

SET NAMES WIN1251;
CONNECT 'localhost:d:\myDB.fdb' USER 'SYSDBA' password 'masterkey';
SHOW TABLES;
DROP TABLE "Моя кривая таблица";
COMMIT;
EXIT;
В-общем, применяй все что вычитал в LangRef.

Добавлено: 20 дек 2006, 15:07
Vetal
ссылку дашь? плиз ... где скачать...

Добавлено: 20 дек 2006, 15:11
Dimitry Sibiryakov
[url]file:///c:/Program%20Files/Firebird/Firebird_1_5/bin/isql.exe[/url]

Добавлено: 20 дек 2006, 15:30
Vetal
спасибо :D

Добавлено: 20 дек 2006, 16:20
Vetal
чето нифига не получилось сделать я с ним никогда не работал isql ... выдает :
sql> SET NAMES WIN1251
con> //когда здесь начинаю писать никакого ответа чтоб я ни писал всегда "con>" , а правильно я пишу или нет я не знаю. никакой реакции. И удаления таблицы не происходит

Добавлено: 20 дек 2006, 17:04
kdv
ой дикие люди! ой держите меня... :)

ТОЧКУ С ЗАПЯТОЙ В КОНЦЕ КОМАНДЫ НАДО ВВОДИТЬ!!!

СРОЧНО! НА КУРСЫ!
www.ibase.ru/courses.htm

Добавлено: 20 дек 2006, 17:37
Vetal
после drop таблицы в isql пишет statement failed, SQLCOD=-802

Arithmetic overflow or division by zero has occurred.
arithmetic exception, numeric overflow, or string truncation.
Cannot transliterate character between character sets.

т. е. тоже самое....

Добавлено: 20 дек 2006, 18:07
kdv
значит, придется ковырять метаданные напрямую в системных таблицах.
gbak -b -m проходит? потом рестор только метаданных проходит?

Добавлено: 21 дек 2006, 10:40
Vetal
где об этом можно почитать, если не долго объяснять где и как изменять метаданные то объясните плиз здесь

Добавлено: 21 дек 2006, 12:02
stix-s
Vetal писал(а):где об этом можно почитать, если не долго объяснять где и как изменять метаданные то объясните плиз здесь
имелось в виду проходит ли бэкап-рестор ежели ты в IB Expert к примеру выставишь галку сохранять тока метаданные (при бэкапе).
выгрузи ты лучше данные и метаданные (структуру базы) в скрипты, пересоздай под новым именем и залей

Добавлено: 21 дек 2006, 12:39
Merlin
Вообще-то вьюноше имхо можно только посочувствовать. Как же бакап метаданные-то выгрузит, ежели он их и прочитать-то не может? Мы с тобой наверное расковыряли бы, если б база была в руках, и удалили, но по переписке я не возьмусь - системные таблицы связаны и записи в них идентифицируются именно по наименованиям, а тут надо найти идентифицирующий это поле набор других атрибутов в каждой системной таблице, куда оно могло попасть, да предварительно идентифицировать такой набор, не имея возможности прочитать саму запись в relation_fields и далее по имени. Да и то - не факт что делет пройдёт даже при задании условий по другим полям, хотя тут не уверен. В общем, погорячились где-то в 2-ке с кодировками в системных таблицах, последствия весьма неприятны. Чем помочь наступившему - не знаю.

Добавлено: 21 дек 2006, 13:10
Dimitry Sibiryakov
Пусть создает пустую базу из образцового скрипта и перегоняет данные.

Добавлено: 21 дек 2006, 13:36
stix-s
Merlin писал(а):Вообще-то вьюноше имхо можно только посочувствовать.
Ну, если имеется бэкап до внесения русских буковок, то метаданные можно и с него сдернуть, а данные с изувеченной базы.

Добавлено: 21 дек 2006, 15:01
WildSery
Элементарно.
Выставляешь в коннекте эксперта чарсет UNICODE_FSS, соединяешься с базой, а дальше хочешь поле грохаешь, хочешь всю таблицу.

Добавлено: 21 дек 2006, 15:20
Merlin
В двойке там уже юникод другой системы и вообще кодировки пересмотрены.

Добавлено: 21 дек 2006, 15:30
WildSery
Merlin писал(а):В двойке там уже юникод другой системы и вообще кодировки пересмотрены.
Именно на двойке-то и пробовал, прежде чем советовать - создал поле, эксперт перестал показывать информацию о таблице, переконнектился в юникоде - всё пучком.
Системные таблицы как были UNICODE_FSS, так и остались. А переделанный вроде UTF8 называется.