Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

win 2000, xp и ADO

2.1K
21 апреля 2005 года
greyich
117 / / 02.02.2005
вот бьюсь над проблемой:
есть комп с 2000 виндой. там стоит мой builder и компилится программа. на всех компах с 2k откомпиленная программа идет на ура. на компах с XP - не идет. пишет

[DBNETLIB][ConnectionOpen (Invalid Instance()).]Недопустимое подключение.

подключаюсь через ADOConection напрямую к SQL server.
единственный найденный вариант - создавать ODBC драйвер и подключаться к нему. тогда всё работает. но это не выход. подскажите в чем может быть трабл.
294
23 апреля 2005 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by greyich
вот бьюсь над проблемой:
есть комп с 2000 виндой. там стоит мой builder и компилится программа. на всех компах с 2k откомпиленная программа идет на ура. на компах с XP - не идет. пишет

[DBNETLIB][ConnectionOpen (Invalid Instance()).]Недопустимое подключение.

подключаюсь через ADOConection напрямую к SQL server.
единственный найденный вариант - создавать ODBC драйвер и подключаться к нему. тогда всё работает. но это не выход. подскажите в чем может быть трабл.


Может, MDAC посвежее поставить?
http://msdn.microsoft.com/data/downloads/updates/default.aspx#MDAC

294
23 апреля 2005 года
Plisteron
982 / / 29.08.2003
Прикольно мне движок форума ссылочку мою показал:


т.е. microsoft data down fault.
Правильно характеризует... :D

2.1K
23 апреля 2005 года
greyich
117 / / 02.02.2005
я переустановил винду на с 2k на ХР. не помогло. перестало работать на win2k. доставил mdac-patchi и опять не помогло.
на xp работает. на 2k - нет! говорит что не видит сервер, хотя мне кажется что гонит и дело в драйверах данных. или чем-то еще.
294
23 апреля 2005 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by greyich
доставил mdac-patchi и опять не помогло.


И всё-таки, какой версии MDAC?
И, надеюсь, ServicePack4 на win2k нахлобучен?

2.1K
25 апреля 2005 года
greyich
117 / / 02.02.2005
не знаю какая версия, но подозреваю что 2.8. по крайней мере когда пытаюсь укстановить последнюю версию с сайта - пишет "несовместим с данной версией Windows. Все его средства в настоящее время являются частью операционной системы Windows." это на XP когда ставлю.

патчи тоже поставил. на 2k и на xp - нахлобучены последние сервис-паки. по поводу последних обновлений не уверен.
7.0K
25 апреля 2005 года
xim
19 / / 29.09.2004
В cliconfg включен TCP/IP (Если в домене, то Named Pipes)? При создании DataSource через odbcad32 автоматом устанавливается TCP/IP (порт динамически)
2.1K
25 апреля 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by xim
В cliconfg включен TCP/IP (Если в домене, то Named Pipes)? При создании DataSource через odbcad32 автоматом устанавливается TCP/IP (порт динамически)



а что значит cliconfig? соединени с сервером идет через tcp/ip по динамическому порту. на самом деле порт вполне определенный, счаз просто номер из гловы вылетел.

7.0K
26 апреля 2005 года
xim
19 / / 29.09.2004
Цитата:
Originally posted by greyich
а что значит cliconfig?



cliconfg.exe - утилита настройки MSSQLServer клиента. Идет с виндами, лежит в System32. По умолчанию порт - 1433

2.1K
27 апреля 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by xim
cliconfg.exe - утилита настройки MSSQLServer клиента. Идет с виндами, лежит в System32. По умолчанию порт - 1433



насколько я понял "программа сетевого клиента" необходима для любого сетевого подключения. вообщем и на компе компилирующем прогу (winxp) и на компе тестирующем прогу (win2k) в cliconfg.exe включен по умолчанию tcp\ip. но толку никакого. пишет общий сбой сети.

вопрос остается нерешенным и открытым :x

7.0K
28 апреля 2005 года
xim
19 / / 29.09.2004
Мало информации. Подобное уже где-то видел, но решения не помню. Нужно:
Какая версия сервера MSSQL? Версия билдера+updates (втч на ADOExpress)? Кусок кода, если решение все еще не появилось.
259
28 апреля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by xim
Мало информации. Подобное уже где-то видел, но решения не помню. Нужно:
Какая версия сервера MSSQL? Версия билдера+updates (втч на ADOExpress)? Кусок кода, если решение все еще не появилось.



Посмотри вот здесь: http://forums.progers.ru/index.php?showtopic=101 Может натолкнет на мысль. А вообще можно взять mdac от 2000 и сунуть в XP, но мне такое решение не очень нравится.

7.0K
28 апреля 2005 года
xim
19 / / 29.09.2004
А если задать вместо имени Instance (Server Name) IP Address?

2AlexandrVSmirno: на мысли натолкнуло, только не по теме они
259
28 апреля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by xim
А если задать вместо имени Instance (Server Name) IP Address?

2AlexandrVSmirno: на мысли натолкнуло, только не по теме они


Там все по теме. При стандартной установке Windows2000 sp4 версия msdac 2.7, в XP 2.8. Совместимость снизу вверх есть. Это проверено. А чудеса начинаются при неаккуратно написаном коде.

Т.е. нужно действительно смотреть код это раз. И проверить правильность установки XP это два.
И есть совсем тупое решение - это установка Enterprise Manager.

Кстати не исключено, что нужно использовать не tcp\ip а pipe.

7.0K
28 апреля 2005 года
xim
19 / / 29.09.2004
Цитата:
А чудеса начинаются при неаккуратно написаном коде.

Да, действительно. Однако, ошибки происходят при подключении к серверу -

Цитата:
[DBNETLIB][ConnectionOpen (Invalid Instance()).]Недопустимое подключение


Цитата:
на xp работает. на 2k - нет! говорит что не видит сервер


Согласен, в некоторой степени допускается, что источник ошибки где-то в начале цепочки "ADOConnection->ConnectionString - ADOExpess - MDAC -[list=1] - <API клиента> - <DBNETLIB (...): настройки протоколов в cliconfg> - <настройки сетевых протоколов в ОС (как клиента, так и сервера/домена)>"
Для того, чтобы найти ошибку нужно:
1. ADOConnection->ConnectionString
2. Версия Builder/ADOExpress+Updates
3. Версия MDAC
4. Версия ОС
5. Настройки клиента
6. Активные протоколы в ОС
7. Ранг сети
8. Версия сервера (если она совсем мохнатая)
Вроде ничего не пропустил.

2.1K
28 апреля 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by xim
Да, действительно. Однако, ошибки происходят при подключении к серверу -


Согласен, в некоторой степени допускается, что источник ошибки где-то в начале цепочки "ADOConnection->ConnectionString - ADOExpess - MDAC -[list=1] - <API клиента> - <DBNETLIB (...): настройки протоколов в cliconfg> - <настройки сетевых протоколов в ОС (как клиента, так и сервера/домена)>"
Для того, чтобы найти ошибку нужно:
1. ADOConnection->ConnectionString
2. Версия Builder/ADOExpress+Updates
3. Версия MDAC
4. Версия ОС
5. Настройки клиента
6. Активные протоколы в ОС
7. Ранг сети
8. Версия сервера (если она совсем мохнатая)
Вроде ничего не пропустил.



мужики я тока еще больше запутался. повторяю проблему в том виде до которого она дошла на данный момент.

есть сервак - win 2003 + mssql server 2000 sp3.
на нем версия библиотеки tcp/ip - 8.0.766
(это так на всякий случай)

есть комп на котором я работаю -
win xp + sp2. mdac - 2.8 версия библиотеки 8.0.341. с++ builder 6 + все главные update.

есть куча компов на которых должен работать клинент. на компах с win xp - всё идет.
на копах с win 2k - не идет. на них 7.0.819 (к примеру). обновлять везде - задолбаюсь :) их много.

на такой один комп ради интереса установил билдер. версия откомпиленная на таком компе идет везде под 2к но не идет под xp.

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

2.1K
28 апреля 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by xim
Да, действительно. Однако, ошибки происходят при подключении к серверу -


Согласен, в некоторой степени допускается, что источник ошибки где-то в начале цепочки "ADOConnection->ConnectionString - ADOExpess - MDAC -[list=1] - <API клиента> - <DBNETLIB (...): настройки протоколов в cliconfg> - <настройки сетевых протоколов в ОС (как клиента, так и сервера/домена)>"
Для того, чтобы найти ошибку нужно:
1. ADOConnection->ConnectionString
2. Версия Builder/ADOExpress+Updates
3. Версия MDAC
4. Версия ОС
5. Настройки клиента
6. Активные протоколы в ОС
7. Ранг сети
8. Версия сервера (если она совсем мохнатая)
Вроде ничего не пропустил.



ранг сети без понятия.
активные протоколы - везде включаю (cliconfg) tcp/ip. сервак тоже настроен тока на него. (ну не люблю я named pipes).
odbc строка в xp -
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test02;Data Source=SOK-SQL01\SQLSERVER;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=SOK-BASE04;Use Encryption for Data=False;Tag with column collation when possible=False

odbc строка в 2к -
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test02;Data Source=SOK-SQL01;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=SOK-BASE03.

вполне может быть что изза того что имя сервера прописывается по разному в хр -SOK-SQL01\SQLSERVER, в 2к - SOK-SQL01.

почти наверняка дело не в коде - код банален до безумия. adoconnection стоит true.

7.0K
29 апреля 2005 года
xim
19 / / 29.09.2004
Цитата:
всегда спасает работа через odbc-connection, но с ним какие-то другие глюки (кажется не позволяет добавлять данные). mdac кажется и не пахнет.


Стоит добавить в строку коннекта Mode=ReadWrite

Для теста подключения создаем UDL-файл (cp-1251 unicode) с содержимым:

[oledb]
Provider=SQLOLEDB.1;Initial Catalog=test02;Data Source=SOK-SQL01;User ID=<user>

(и в ADOConnection->ConnectionString подобную строку без [oledb])

Цитата:

вполне может быть что изза того что имя сервера прописывается по разному в хр -SOK-SQL01\SQLSERVER, в 2к - SOK-SQL01.


По поводу разных Data Source (SOK-SQL01\SQLSERVER и SOK-SQL01):
на сервере заведено несколько Instance? Если нет, то везде должно идти SOK-SQL01.

Если ошибка не ушла, пробуем (плюс к тому, что выше) в Data Source ввести ip-адрес или выбираем в cliconfg первый протокол - Named Pipes

2.1K
29 апреля 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by xim
Стоит добавить в строку коннекта Mode=ReadWrite

Для теста подключения создаем UDL-файл (cp-1251 unicode) с содержимым:

[oledb]
Provider=SQLOLEDB.1;Initial Catalog=test02;Data Source=SOK-SQL01;User ID=<user>

(и в ADOConnection->ConnectionString подобную строку без [oledb])


По поводу разных Data Source (SOK-SQL01\SQLSERVER и SOK-SQL01):
на сервере заведено несколько Instance? Если нет, то везде должно идти SOK-SQL01.

Если ошибка не ушла, пробуем (плюс к тому, что выше) в Data Source ввести ip-адрес или выбираем в cliconfg первый протокол - Named Pipes

]


Вот оно!!! я нашел кажется косяк! на одних машинах обращение к серверу происходит через sok-sql01, а на других sok-sql01\sqlserver!
instance на сервере один (sqlserver)/ он же по дефолту.
вопрос что делать дальше. подскажите можно ли в ADOconection вписать ip?

2.1K
29 апреля 2005 года
greyich
117 / / 02.02.2005
ADOConnection1->Connected = true;
if (ADOConnection1->Connected == false)
{
ADOConnection1->ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test02;Data Source=SOK-SQL01";
ADOConnection1->Connected = true;
};

вообщем чтото подобное. кстати если на компе клиента прогойц cliconfg не установлен tcp/ip - то ничего не спасает :) а ктонибудь знает как это прописывать не имея прав администратора ?8)
259
29 апреля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by greyich
]


Вот оно!!! я нашел кажется косяк! на одних машинах обращение к серверу происходит через sok-sql01, а на других sok-sql01\sqlserver!
instance на сервере один (sqlserver)/ он же по дефолту.
вопрос что делать дальше. подскажите можно ли в ADOconection вписать ip?


Блин. Ну читайте же внимательнее посты. Вам же xim написал:

Цитата:
Originally posted by xim

Если ошибка не ушла, пробуем (плюс к тому, что выше) [COLOR=red]в Data Source ввести ip-адрес [/COLOR] или выбираем в cliconfg первый протокол - Named Pipe

7.0K
29 апреля 2005 года
xim
19 / / 29.09.2004
Цитата:
Originally posted by greyich
]
вопрос что делать дальше. подскажите можно ли в ADOconection вписать ip?



Да, в строке соединения Data Source = <ip_addr>

7.0K
29 апреля 2005 года
xim
19 / / 29.09.2004
Цитата:
Originally posted by xim
Да, в строке соединения Data Source = <ip_addr>


Блин (боясь в очередной раз запутать), <ip_addr> естественно без угловых скобок :)

2.1K
29 апреля 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by xim
Блин (боясь в очередной раз запутать), <ip_addr> естественно без угловых скобок :)



ну да-ДА!!! еще расскажите мне как adoconnection на форму садить.
блин! не работает у меня по айпишнику.
прописываю
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test02;Data Source=10.10.11.131"
скажите где я лох? X)-
тока не надо спрашивать правильный ли айпишник.

259
29 апреля 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by greyich
ну да-ДА!!! еще расскажите мне как adoconnection на форму садить.
блин! не работает у меня по айпишнику.
прописываю
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test02;Data Source=10.10.11.131"
скажите где я лох? X)-
тока не надо спрашивать правильный ли айпишник.


А его вообще из под XP видно? Может дело в FireWall?

2.1K
29 апреля 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by AlexandrVSmirno
А его вообще из под XP видно? Может дело в FireWall?


а как же! firewall'ов никаких нету. пингуется на ура с этим ip.

7.0K
29 апреля 2005 года
xim
19 / / 29.09.2004
Цитата:
Originally posted by greyich
а как же! firewall'ов никаких нету. пингуется на ура с этим ip.


Качаем SP3a for SQL Server 2000 (исправляет какие-то проблемы для WinServer2003)

2.1K
04 мая 2005 года
greyich
117 / / 02.02.2005
Цитата:
Originally posted by xim
Качаем SP3a for SQL Server 2000 (исправляет какие-то проблемы для WinServer2003)



дык, стоит конечно же.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог