powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Подключение к базе ASA
10 сообщений из 10, страница 1 из 1
Подключение к базе ASA
    #33633620
grach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может и глюк, но мне понравилось :)
Дано:
В сети находятся разные базы: ASA 6.0.2 и ASA 9.0.2.
Подключаюсь одним приложением к обеим базам через ODBC используя один DSN. Т.е. одно подключение - 'DSN=data;ENG=duta;DBN=data;uid=dba;pwd=sql',
а второе 'DSN=data;ENG=data;DBN=data;uid=dba;pwd=sql'.
Сначала решил, что драйвера dbodbc6.dll и dbodbc9.dll взаимозаменяемы, ну и логично ждать каких-нить глюков. Тем более что кодовые страницы по умолчанию разные 866RUS и 1251. Заменил одно на другое - все работает. Без драйвера по умолчанию не работает, без его указания тоже. Поставил в конце концов в качестве драйвера пробел - работает! Странно...
Вопрос такой - как вообще можно подключиться к базе минуя ODBC?
...
Рейтинг: 0 / 0
Подключение к базе ASA
    #33633659
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grachМожет и глюк, но мне понравилось :)
Никаких глюков. Действительно к базе версий от шестой до девятой можно подключаться через ODBC драйвера любой версии.

grachПодключаюсь одним приложением к обеим базам через ODBC используя один DSN. Т.е. одно подключение - 'DSN=data;ENG=duta;DBN=data;uid=dba;pwd=sql',
а второе 'DSN=data;ENG=data;DBN=data;uid=dba;pwd=sql'.
Два вопроса:
1) Надеюсь ты учитываешь что при одновременном указании DSN и любых других ключевых слов (ENG/DBN/UID/PWD) соответсвующие ENG, DBN и так далее заменять те что были указаны в DSN? :)
2) У тебя в сети ASA6 запущен с именем "dUta" а ASA9 - "dAta"?

grachСначала решил, что драйвера dbodbc6.dll и dbodbc9.dll взаимозаменяемы, ну и логично ждать каких-нить глюков. Тем более что кодовые страницы по умолчанию разные 866RUS и 1251.В общем, драйвера действительно взаимозаменяемы в очень широких рамках. Разница между ними есть, но не особо большая.
Самая серьезное с чем ты столкнешься это разная работа с кодовыми страницами. В версиях до восьмой ODBC мог подключать дополнительную DLL называющуюся translator которая делала перекодирование страниц на клиенте. В девятой версии клиентский транслятор убили, теперь этим занимается сам серевер по получению опций LANG и CHARSET от клиента в строке подключения. Но если твоя клиентская программа сама занимается перекодированием - то никаких проблем быть не должно вообще.


grachЗаменил одно на другое - все работает. Без драйвера по умолчанию не работает, без его указания тоже. Поставил в конце концов в качестве драйвера пробел - работает! Странно...
Э? Это как это, "пробел в качестве драйвера"???
Ты не путаешь команды DSN и DRIVER случаем? :)
DSN - выбирает предопределеную через ODBC Administrator, и сохраненую в регистри, строку подключения.

Если не хочешь сохранять строку подключения в регистри, то можешь указывать драйвер напрямую. Например "DRIVER={Adaptive Server Anywhere 9.0};ENG=data;DBN=data;UID=user;PWD=password"
Полное название драйвера смотри на вкладке Drivers в ODBC Administrator.
...
Рейтинг: 0 / 0
Подключение к базе ASA
    #33633756
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"White Owl" сказал все верно, за исключением того, что в 9-м драйвере АСА
тоже есть возможность указать транслятор. Т.е. его не убили. Просто в
сервере добавили встроенный функционал по перекодированию, вследствии чего
необходимость в трансляторе отпала.
Да и клиентская программа необязательно должна уметь сама перекодировать,
чтобы перейти с одной АСА на другую без проблем. Мы без проблем переходили с
6 АСА на 9, со сменой кодовой страницы и без перестановки драйверов(т.е.
остались работать драйвера 6-ки).
6й АСА-866 + 6й драйвер + транслятор = 9й АСА-1251 + 6й драйвер


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Подключение к базе ASA
    #33634232
grach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за разъяснения.
1. DSN и DRIVER не путаю, но понятия драйверов я все таки перепутал, т.е. имел в виду сами dll, но напрямую при подключении указывать драйвер почему-то не получается.
2. в сети ASA6 запущен с именем "dUta" а ASA9 - "dAta". Это не суть важно, на разных машинах в сети можно указать базы с одинаковыми параметрами, главное указать host.
3. Без предопределенного DSN в регистри подключение не происходит. Поэтому и спрашиваю: как без регистри подключаться? А это возможно!
...
Рейтинг: 0 / 0
Подключение к базе ASA
    #33634335
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grach wrote:

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

Ты бы хоть написал, что за прога, на чём написана...

> без регистри подключаться? А это возможно!

С полпинка .
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Подключение к базе ASA
    #33634690
kot777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересует: с полпинка через ODBC без регистри - это как?
...
Рейтинг: 0 / 0
Подключение к базе ASA
    #33634722
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kot777 wrote:

> Интересует: с полпинка через ODBC без регистри - это как?

Например, так (PB9):

SQLCA.DBMS = 'ODBC'
SQLCA.DBParm = "ConnectString='Driver=Adaptive Server Anywhere
8.0;COMMLINKS=shmem,tcpip;ENG=******;DBN=******;UID=******;PWD=******'")

Connect;
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Подключение к базе ASA
    #33634762
kot777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Dim2000]
Например, так (PB9):

SQLCA.DBMS = 'ODBC'
SQLCA.DBParm = "ConnectString='Driver=Adaptive Server Anywhere
8.0;COMMLINKS=shmem,tcpip;ENG=******;DBN=******;UID=******;PWD=******'")

Connect;

Спасибо...
...
Рейтинг: 0 / 0
Подключение к базе ASA
    #33634933
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В догонку ...

SQLCA.DBParm = "ConnectString='Driver=Adaptive Server Anywhere
8.0;COMMLINKS=shmem,tcpip;ENG=******;DBN=******;UID=******;PWD=******'") - Это для сетевого подключения

Для приложения, использующего personal database надо еще указать файл базы с помощью DBF:

SQLCA.DBParm = "ConnectString='Driver=Adaptive Server Anywhere
8.0;COMMLINKS=shmem;ENG=******;DBN=******;DBF=<DataBase file>;ASTART=yes;ASTOP=yes;UID=******;PWD=******'")
...
Рейтинг: 0 / 0
Подключение к базе ASA
    #33635013
grach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Биг сенкс, это именно то, что нужно.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Подключение к базе ASA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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