powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Исполнение скрипта с русскими именами объектов
27 сообщений из 27, показаны все 2 страниц
Исполнение скрипта с русскими именами объектов
    #32073542
Фотография ToRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

У меня есть 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. Не спрагивайте почему имена объектов русские - я не разрабочик, а всего лишь занимаюсь поддержкой :-)
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073545
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может активная база не та, поставьте
USE base_name
Go
в начале вашего скрипта
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073547
Фотография ToRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну не совсем же я :-)))
это стоит конечно :-))))
+ еще все объеты указываются в нотации

batabase.owner.table

:-))))
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073552
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В скрипте смените кодировку на cp866 -> и все ok
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073553
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. osql воспринимает русский названия в скриптах, если их кодировка OEM или UNICODE, но не ANSI
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073558
Фотография ToRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SET Language
???
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073566
Фотография ToRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SET Language russian
не помогает, да и не должен судя по BOL

SET Language
"Specifies the language environment for the session. The session language determines the datetime formats and system messages."

Помогите люди добрые - может я в трех соснах заблудился
:-(
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073593
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совет funikovyuri выполнили?
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073603
Фотография ToRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выполнил. Вроде помогло - спасибо большое...

Похоже что проблема была на в трансляции кириллицы в SQL Server через osql.
А можно ли изменить поведение osql не меняя кодировку самого файла скрипта???
Может ключи есть какие?
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073880
Фотография ToRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 funikovyuri:

Спасибо.
Ваш совет помог, но можно ли заставить osql выполнять скрпт из файла не меняя его кодировку?

может какой-нить ключ? другая утилита?

Не сочтите меня привередливым, просто не хочу постоянно помнить про кодировку файла при его копировании и записи-перезаписи.

Любые варианты приветствуются.
Заранее спасибо. :-)
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073892
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создать .bat файл, а в нем перед запуском osql конвертировать AnSI to OEM или UNICODE -> еще лучше все скрипты писать на unicode'e
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073902
Michael Hopgarden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо osql использовать isqlw [-F {U|A|O}]
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073910
Фотография ToRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может я совсем тупой :-((

но как это сделать командами ОС (Win 2k)? Не прибегая к помощи сторонних утилит?

"chcp" вроде немного не то....
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073930
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2ToRo: Может я совсем тупой :-((
Да не волнуйтесь Вы так - все у вас в порядке - особенно судя по тому, что никто ничего так и не предложил - если хотите сравнить активность топиков то создайте новый гед напишите что EM/QA - говно -> сразу говорю - ответов будет в разы больше

Встроенной в WinNT утилиты я не знаю, я бы использовал стороннюю - в inet'e найти не сложно
Еще - НИКОГДА не используйте русские имена объектов - тут эта тема много раз обсуждалась ( можете поискать ) - Ваша проблема - еще цветочки! :)
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073966
Фотография ToRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ответы, утилиты-то у меня уже есть, но все-таки, я предпочитаю пользоваться стандартными средствами ОС и SQL Svr - мне кажется что чем меньше сторонних утилит - тем проще, лучше, управляемее и надежнее.

Насчет Вашего НИКОГДА:
Я уже ведь писал в первом посте:
"P.S. Не спрашивайте почему имена объектов русские - я не разрабочик, а всего лишь занимаюсь поддержкой :-)"

Я и сам часто сталкиваюсь с глюками - особенно при передаче данных (SQL->Oracle, Access->SQL). :-(((

Но признаюсь, что в SQL 2K по сравленнию с SQL7 этих глюков на порядок меньше.

Насчет вашего предложения про тему стоит подумать :-)))
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073969
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
но как это сделать командами ОС (Win 2k)? Не прибегая к помощи сторонних утилит?

Может быть вместо .bat файл использовать VB Script+ FSO или ADOStream ?
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073972
Фотография ToRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Glory:

задачка-то стоит примитивная - запукасть .bat, который запускает скрипт по расписанию

мне кажется, что в данном случае нецелоссобразно все так усложнять....

все равно спасибо за вариант - стоит подумать.
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073977
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честное слово большой не вижу разницы в WIN 2k между.bat и .VBS файлами. Наоборот последние мне лично больше нравятся.
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073985
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
osql - использует для коннекта ODBC....
настроте себе правильно ODBC и используйте се наздоровье ANSI кодировку...
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32073998
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да .... еще.... используйте не bat ,а cmd...
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32074022
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2MiCe: по-подробнее, пожалуйста - я пробовал через ODBC - ничего не изменилось!?
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32074025
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ODBC настроить нуно....
osql всегда работает через ODBC.....
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32074083
Pavel kovalenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вы уверены, что таблица называется 'іроводка'?
Может 'Проводка'?
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32074086
Фотография ToRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Pavel kovalenko:

Она так и называется "Проводка" я всего-лишь привел текст ошибки.

2 MiCe:
По настройкам ODBC поподробнее пож-та, я ничего не нашел.
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32074089
Фотография ToRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Michael Hopgarden:

Ваш ответ наверное наиболее оптимальный, спасибо.
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32074101
Pavel kovalenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вы уверены, что таблица называется 'іроводка'?
Может 'Проводка'?
...
Рейтинг: 0 / 0
Исполнение скрипта с русскими именами объектов
    #32074194
Фотография ToRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Michael Hopgarden:

Двухчасовые эксперименты с isqlw ни к чему не привели - он также чувствителен к кодировке файла, ключи не помогают.
Похоже воспрос исчерпан.
Остается только способ менять кодировку файла.
...
Рейтинг: 0 / 0
27 сообщений из 27, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Исполнение скрипта с русскими именами объектов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]