![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
регистр при именовании переменных
stud © (2006-07-14 18:04:00)субд - MSSQL2000.
проблема следующая: на одну таблицу разработчики повесили триггер, в котором объявлены две одинаковые переменные, но записанные в разном регистре.
сам sql сервер настроен на различие регистра, но когда я пытаюсь внести изменения в эту таблицу то при срабатывании триггера получаю ошибку:
переменная ААА уже объявлена.
для доступа пользуюсь АДО 2.8. нужны ли какие настройки на самом клиенте чтобы избежать подобной проблемы?
Fay (2006-07-17 11:42:00) [21]2 stud © (17.07.06 11:31) [15]
> интересует почему
Почему одна программа выводит сообщения об ошибке, а другая не выводит?
Это невдолбенно сложный вопрос. Даже как-то в голову ничего не приходит...
Неужели возможно написать программу, которая не выводит сообщения о некоторых ошибках?
Даже не верится!
stud (2006-07-17 11:31:00) [22]Desdechado © (17.07.06 11:14) [13]
Но инициатива обавления записи происходит из клиента, значит, ошибки ему же и отдаются. Все так и задумано.
разумеется инициирует клиент, но сам тригер выполняется на сервере, с настройками того сервера, на котором выполняется или с теми с которыми клиент подключается?
Fay © (17.07.06 11:21) [14]
триггер тоже написан на Powerbilder? убиться с тумбочки.
а чего не понятно???
моя программа написана на дельфи, их на билдере. у меня выскакивает сообщение об ошибке у них нет. интересует почему? обращаются к одной и той же бд, выполняют те же операции.
Fay (2006-07-17 11:21:00) [23]2 stud © (17.07.06 11:03) [11]
Ничего не понял.
> по идее клиент тут вообще должен быть не при делах
А он и так ни при делах
> программа этих самых разработчиков, написаная правда на Powerbilder
триггер тоже написан на Powerbilder? убиться с тумбочки.
Desdechado (2006-07-17 11:14:00) [24]> тригер выполняется на сервере, по идее клиент тут вообще должен быть не при делах
Но инициатива обавления записи происходит из клиента, значит, ошибки ему же и отдаются. Все так и задумано.
Stanislav (2006-07-17 11:04:00) [25]У нас такое было,но наоборот, т.е. был collation не чувствительный к регистру, в хранимках обявиляли переменную как @A, а использовали как @a. После переноса базы на сервак с другим collation, либо изменили на базе collation(непомню точно). Перестало все работать, пока collation не вернули.
stud (2006-07-17 11:03:00) [26]Fay © (14.07.06 20:26) [2]
Не забудь обратиться к разработчикам. Использование отичающихся лишь регистром имён переменных - баг, т.к. они (разработчики) не должны вносить требования к настройкам сервера.
обращался. обещали исправить.
но тут есть один непонятный момент, тригер выполняется на сервере, по идее клиент тут вообще должен быть не при делах?? кроме того программа этих самых разработчиков, написаная правда на Powerbilder работает нормально.
Fay (2006-07-15 07:18:00) [27]2 sniknik © (15.07.06 0:44) [9]
> не ожидал
Ага, а я просто угадал
sniknik (2006-07-15 00:44:00) [28]блин...
сменил мастера (rebuildm), не заняло много времени, колатион поставил Cyrillic_General_CS_AS (стал у сервера такой), действительно влияет на язык... переменные @A и @a различаются. не ожидал.
sniknik (2006-07-14 23:33:00) [29]вообще всегда считал, что это то, что получит база при создании своего рода дефаултная настройка. то что она и язык затрагивает... нонсенс!
sniknik (2006-07-14 23:31:00) [30]> отвечает collation сервера. В курсе?
нет не в курсе, да и сейчас верится с трудом. не должно такого быть. как проверить, сменить настройку сервера без его переустановки? вроде есть способ с подменой мастер базы. надо поискать, да попробовать в выходные... (либо переустановить, проще наверное будет)
Fay (2006-07-14 21:24:00) [31]8))
#define рестраа регистра
Fay (2006-07-14 21:23:00) [32]2 sniknik © (14.07.06 20:42) [4]
За различие рестраа имён переменных отвечает collation сервера. В курсе?
sniknik (2006-07-14 20:42:00) [33]кстати, вот это
DECLARE @A INT
DECLARE @а INT
у вас сработает (скопировать) если выполнить одним блоком, но вовсе не изза раззличия регистра сервером для переменных...
sniknik (2006-07-14 20:39:00) [34]> в котором объявлены две одинаковые переменные, но записанные в разном регистре.
как это они умудрились?
т.е. вот это
> сам sql сервер настроен на различие регистра
как сделать? не должно быть такого, данные да, можно коллатионами задать и с различием регистра и без, но переменных то это не касается. и настроек таких нет. (или может я чегото не знаю?)
Fay (2006-07-14 20:26:00) [35]2 stud © (14.07.06 18:04)
Не забудь обратиться к разработчикам. Использование отичающихся лишь регистром имён переменных - баг, т.к. они (разработчики) не должны вносить требования к настройкам сервера.
Fay (2006-07-14 20:23:00) [36]2 stud © (14.07.06 18:04)
> сам sql сервер настроен на различие регистра
Сам сервер или база?