|
|
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! У меня есть MSSQL 2k SP2 на WIN 2k Adv Srv SP3. Написан скрипт, который обрабатывает данные (INSERT, UPADTE, DELETE). В QA исполнятеся без ошибок, но когда я вставляю его исполнение в bat - файл через вызов osql, скрипт не отрабатывает - пишет ошибки типа такой: Invalid object name 'BM1.dbo.іроводка'. Msg 208, Level 16, State 1, Server PA1, Line 5 Я подозреваю, что это из-за русских имен объетов (типа таблица - "Проводка", поле "Ключ"). Везде при указании имен объектов использую brackets []. Вариант с кавычками (SET QUOTED_IDENTIFIER ON) испробовал - не помогло. Вариант с конкатенацией множества строк типа nvarchar а потом exec(str1 + str2 +... ) использовать не хотелось бы - скрипт громозкий. В виде SP на сервере хранить его тоже не хотца. Как мне можно обойти эту проблему? P.S. Не спрагивайте почему имена объектов русские - я не разрабочик, а всего лишь занимаюсь поддержкой :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2002, 16:52:11 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
Может активная база не та, поставьте USE base_name Go в начале вашего скрипта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2002, 16:54:31 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
Ну не совсем же я :-))) это стоит конечно :-)))) + еще все объеты указываются в нотации batabase.owner.table :-)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2002, 16:57:41 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
В скрипте смените кодировку на cp866 -> и все ok ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2002, 17:06:15 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
Т.е. osql воспринимает русский названия в скриптах, если их кодировка OEM или UNICODE, но не ANSI ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2002, 17:07:55 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
SET Language ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2002, 17:10:21 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
SET Language russian не помогает, да и не должен судя по BOL SET Language "Specifies the language environment for the session. The session language determines the datetime formats and system messages." Помогите люди добрые - может я в трех соснах заблудился :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2002, 17:23:12 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
Совет funikovyuri выполнили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2002, 17:46:27 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
Выполнил. Вроде помогло - спасибо большое... Похоже что проблема была на в трансляции кириллицы в SQL Server через osql. А можно ли изменить поведение osql не меняя кодировку самого файла скрипта??? Может ключи есть какие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.11.2002, 18:00:12 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
2 funikovyuri: Спасибо. Ваш совет помог, но можно ли заставить osql выполнять скрпт из файла не меняя его кодировку? может какой-нить ключ? другая утилита? Не сочтите меня привередливым, просто не хочу постоянно помнить про кодировку файла при его копировании и записи-перезаписи. Любые варианты приветствуются. Заранее спасибо. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 11:09:10 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
Создать .bat файл, а в нем перед запуском osql конвертировать AnSI to OEM или UNICODE -> еще лучше все скрипты писать на unicode'e ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 11:20:34 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
Вместо osql использовать isqlw [-F {U|A|O}] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 11:30:51 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
Может я совсем тупой :-(( но как это сделать командами ОС (Win 2k)? Не прибегая к помощи сторонних утилит? "chcp" вроде немного не то.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 11:34:58 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
2ToRo: Может я совсем тупой :-(( Да не волнуйтесь Вы так - все у вас в порядке - особенно судя по тому, что никто ничего так и не предложил - если хотите сравнить активность топиков то создайте новый гед напишите что EM/QA - говно -> сразу говорю - ответов будет в разы больше Встроенной в WinNT утилиты я не знаю, я бы использовал стороннюю - в inet'e найти не сложно Еще - НИКОГДА не используйте русские имена объектов - тут эта тема много раз обсуждалась ( можете поискать ) - Ваша проблема - еще цветочки! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 11:44:57 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы, утилиты-то у меня уже есть, но все-таки, я предпочитаю пользоваться стандартными средствами ОС и SQL Svr - мне кажется что чем меньше сторонних утилит - тем проще, лучше, управляемее и надежнее. Насчет Вашего НИКОГДА: Я уже ведь писал в первом посте: "P.S. Не спрашивайте почему имена объектов русские - я не разрабочик, а всего лишь занимаюсь поддержкой :-)" Я и сам часто сталкиваюсь с глюками - особенно при передаче данных (SQL->Oracle, Access->SQL). :-((( Но признаюсь, что в SQL 2K по сравленнию с SQL7 этих глюков на порядок меньше. Насчет вашего предложения про тему стоит подумать :-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 12:13:26 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
но как это сделать командами ОС (Win 2k)? Не прибегая к помощи сторонних утилит? Может быть вместо .bat файл использовать VB Script+ FSO или ADOStream ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 12:16:35 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
2 Glory: задачка-то стоит примитивная - запукасть .bat, который запускает скрипт по расписанию мне кажется, что в данном случае нецелоссобразно все так усложнять.... все равно спасибо за вариант - стоит подумать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 12:21:01 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
Честное слово большой не вижу разницы в WIN 2k между.bat и .VBS файлами. Наоборот последние мне лично больше нравятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 12:26:12 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
osql - использует для коннекта ODBC.... настроте себе правильно ODBC и используйте се наздоровье ANSI кодировку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 12:35:04 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
да .... еще.... используйте не bat ,а cmd... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 12:38:46 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
2MiCe: по-подробнее, пожалуйста - я пробовал через ODBC - ничего не изменилось!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 13:00:29 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
ODBC настроить нуно.... osql всегда работает через ODBC..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 13:03:51 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
А вы уверены, что таблица называется 'іроводка'? Может 'Проводка'? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 14:33:10 |
|
||
|
Исполнение скрипта с русскими именами объектов
|
|||
|---|---|---|---|
|
#18+
2 Pavel kovalenko: Она так и называется "Проводка" я всего-лишь привел текст ошибки. 2 MiCe: По настройкам ODBC поподробнее пож-та, я ничего не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2002, 14:36:45 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32073603&tid=1818407]: |
0ms |
get settings: |
6ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 378ms |

| 0 / 0 |
