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

ЧАстые Вопросы и Ответы

Модераторы: kdv, CyberMax

Vetal
Сообщения: 45
Зарегистрирован: 31 июл 2006, 12:58

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

Сообщение Vetal » 20 дек 2006, 13:55

Здравствуйте!
случайно в названии полей были добавлены русские буквы... в результате таблица создана но вообще без полей и удалить я ее не могу. Подскажите плиз где искать ответ.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 20 дек 2006, 13:56

Вообще без полей не бывает. Чем смотришь?
Дропать такие поля надо используя кавычки.

Vetal
Сообщения: 45
Зарегистрирован: 31 июл 2006, 12:58

Сообщение Vetal » 20 дек 2006, 14:01

Смотрю 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

Vetal
Сообщения: 45
Зарегистрирован: 31 июл 2006, 12:58

Сообщение Vetal » 20 дек 2006, 14:22

поля не отображаются... таблица пустая а дропнуть ее нельзя блин... НУ посоветуйте...

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 20 дек 2006, 14:30

Брось эту гуевую примочку. Запусти isql. А дальше

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

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

Vetal
Сообщения: 45
Зарегистрирован: 31 июл 2006, 12:58

Сообщение Vetal » 20 дек 2006, 15:07

ссылку дашь? плиз ... где скачать...

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 20 дек 2006, 15:11

[url]file:///c:/Program%20Files/Firebird/Firebird_1_5/bin/isql.exe[/url]

Vetal
Сообщения: 45
Зарегистрирован: 31 июл 2006, 12:58

Сообщение Vetal » 20 дек 2006, 15:30

спасибо :D

Vetal
Сообщения: 45
Зарегистрирован: 31 июл 2006, 12:58

Сообщение Vetal » 20 дек 2006, 16:20

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 20 дек 2006, 17:04

ой дикие люди! ой держите меня... :)

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

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

Vetal
Сообщения: 45
Зарегистрирован: 31 июл 2006, 12:58

Сообщение Vetal » 20 дек 2006, 17:37

после 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.

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 20 дек 2006, 18:07

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

Vetal
Сообщения: 45
Зарегистрирован: 31 июл 2006, 12:58

Сообщение Vetal » 21 дек 2006, 10:40

где об этом можно почитать, если не долго объяснять где и как изменять метаданные то объясните плиз здесь

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Сообщение stix-s » 21 дек 2006, 12:02

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

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 21 дек 2006, 12:39

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

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 21 дек 2006, 13:10

Пусть создает пустую базу из образцового скрипта и перегоняет данные.

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

Сообщение stix-s » 21 дек 2006, 13:36

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

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 21 дек 2006, 15:01

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

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 21 дек 2006, 15:20

В двойке там уже юникод другой системы и вообще кодировки пересмотрены.

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 21 дек 2006, 15:30

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

Ответить