Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Вниз

Русский шрифт в поле таблицы.   Найти похожие ветки 

 
TohaNik ©   (2006-08-31 10:08) [0]

Доброе утро.
По невнимательности забили поле с русским шрифтом.
Можно ли его как-то вычистить.
gfix не помог


 
Sergey13 ©   (2006-08-31 10:12) [1]

Что значит "забили" и что значит "вычистить"?


 
TohaNik ©   (2006-08-31 10:25) [2]


> Sergey13 ©   (31.08.06 10:12) [1]
> Что значит "забили" и что значит "вычистить"?

FIELD NAME = "ЗФН_ВЩС",  а д.б. "PAY_DOC"

ну а вычистить - удалить.
В RDB$RELATION_CONSTRAINTS не читается, собственно что и не удивительно.


 
TohaNik ©   (2006-08-31 10:27) [3]

извиняюсь
не в RDB$RELATION_CONSTRAINTS а в RDB$RELATION_FIELDS


 
Sergey13 ©   (2006-08-31 10:35) [4]

> [2] TohaNik ©   (31.08.06 10:25)

ИБЭксперт не удаляет?


 
TohaNik ©   (2006-08-31 10:41) [5]


> Sergey13 ©   (31.08.06 10:35) [4]

А как удалять? При попытке прочитать запись - переполнение.


 
sniknik ©   (2006-08-31 10:44) [6]

> ну а вычистить - удалить.
может заменить? и чего сразу в системные таблицы лезть? хочеш "убить" базу "насмерть"?

ALTER TABLE Table1 ADD PAY_DOC VarChar(30)

UPDATE Table1 SET PAY_DOC = "ЗФН_ВЩС"

ALTER TABLE Table1 DROP "ЗФН_ВЩС"


 
Desdechado ©   (2006-08-31 10:46) [7]

Тогда не в поле, а в имени поля.
ALTER TABLE xxx DROP yyy - не подходит? Или там нужно сохранить данные?
Тогда тупо в бинарнике hex-редактором эту комбинацию замени во всех местах.


 
TohaNik ©   (2006-08-31 11:36) [8]


> sniknik ©   (31.08.06 10:44) [6]

Не проходит, не определяются метаданные с русскими символами в скриптах.
Неужели штатными средствами не лечится?
Подправил hex редактором (спасибо Desdechado)


 
sniknik ©   (2006-08-31 12:02) [9]

> Не проходит, не определяются метаданные с русскими символами в скриптах.
> Неужели штатными средствами не лечится?
нет яффила чтобы проверить (да и не охота, давно заменил на firebird (использую для проб)) может в нем это и считается ошибкой... в firebird (да и в IB насколько знаю) для указания/обрашения к полю с нестандартным названием (пробелы в имени/локализованные/символьные названия/зарезервированные) достаточно указать его в кавычках (что и видно в приведенных в [6] запросах)

и еще, насколько знаю, сама база(формат) там не сильно от FB отличается (поддерживать во всяком случае FB его должна), т.е. можно было бы открыть ее пусть ембедед версией FB и прогнав эти запросы исправить "глюк".

но вообшето сомневаюсь, что мои запросы не сработали (даже на яфиле), не сработали твои, т.к. скорее всего ты их исправил по своему разумению и убрал кавычки в нужных местах... (либо др. ошибки внес)


 
Desdechado ©   (2006-08-31 12:07) [10]

> но вообшето сомневаюсь, что мои запросы не сработали
Вот этот UPDATE Table1 SET PAY_DOC = "ЗФН_ВЩС" просто заполнит поле PAY_DOC строкой ЗФН_ВЩС.
Чтобы этого не произошло, надо алиас использовать.


 
sniknik ©   (2006-08-31 12:33) [11]

Desdechado ©   (31.08.06 12:07) [10]
но ведь сработало бы, да результат был бы не тем что ожидался (лажанулся... просто привык к mssql/access там кавычки для строк и таких полей разделены и однозначны, а алиасами для этих целей с BDE не пользовался)
но запрос ALTER TABLE Table1 DROP "ЗФН_ВЩС" приняло бы однозначно (в смысле что "ЗФН_ВЩС" это имя поля) и без алиаса.

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


 
TohaNik ©   (2006-08-31 12:38) [12]

sniknik ©   (31.08.06 12:02) [9]
Ты прав что мои
Да уж невнимательность:(

Вот на "битой" оставшейся копии еще раз выполнил
alter table shipments_doc drop "ЗФН_ВЩС" - выполнился.

Не выполнялся этот - alter table shipments_doc drop "зфн_вщс"


 
Desdechado ©   (2006-08-31 12:42) [13]

sniknik ©   (31.08.06 12:33) [11]
Не знаю насчет остальных, мне проверять лениво было. Просто неточность указал, которая сразу в глаза бросилась.
А алиасы здесь использовать так:
UPDATE Table1 T SET T.PAY_DOC = T."ЗФН_ВЩС"
Просто использование кавычек разрешено для строковых констант для совместимости с предыдущими версиями, но не приветствуется. Кавычки зарезервированы для использования в 3-м диалекте для работы с метаданными.


 
Desdechado ©   (2006-08-31 12:44) [14]

> Не выполнялся этот - alter table shipments_doc drop "зфн_вщс"
Для третьего диалекта важен регистр символов в метаданных. Поэтому в кавычках нужно указываать в точности так, как в БД.


 
sniknik ©   (2006-08-31 12:46) [15]

> alter table shipments_doc drop "ЗФН_ВЩС" - выполнился.
> Не выполнялся этот - alter table shipments_doc drop "зфн_вщс"
ну правильно, если нельзя определить что за язык, в имени поля то никаких приведений к верхнему/нижнему регистру быть не может, выполняется битовое сравнение. (и ошибка тогда "поле не найдено", а вовсе не "не определяются метаданные")


 
TohaNik ©   (2006-08-31 12:46) [16]


> sniknik ©   (31.08.06 12:33) [11]


Еще раз извиняюсь за свою невнимательность.

> запросы даже опробованы не были... была просто иззначальная
> уверенность автора топика в их неработоспособности...


Неужели бинарник проще править было.


 
Desdechado ©   (2006-08-31 12:49) [17]

> в имени поля никаких приведений к верхнему/нижнему регистру быть не может
В первом диалекте все к верхнему приводится автоматом. Вот только не помню, кажется, русские буквы там не катят.


 
sniknik ©   (2006-08-31 12:51) [18]

> Неужели бинарник проще править было.
а я откуда знаю что тебе проще? сужу про тому что читаю... и если написано так что на глаз видны нестыковки то и вывод по ним (а что ты там в реале делал никому не ведомо).
вот если бы было написано "взял запросы ... , выполнил в ..., получил такие ошибки ... " т.д. (в общем то что в реале), то и суждения/выводы были бы другие.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.042 c
2-1160908532
PeterBuild
2006-10-15 14:35
2006.10.29
Програмный запуск командной строки


15-1159966343
mrcat_
2006-10-04 16:52
2006.10.29
Шахматный чемпионат


3-1157479783
DBE
2006-09-05 22:09
2006.10.29
paradox на другом компе


2-1160732461
vigo_
2006-10-13 13:41
2006.10.29
правильный поиск в строке


15-1160460352
k2
2006-10-10 10:05
2006.10.29
Хорошая вакансия





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский