Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выбора протокола при соединении по SQLOLEDB / 20 сообщений из 20, страница 1 из 1
31.10.2018, 10:41
    #39725584
Acce_Ekb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Добрый день,

Какой будет порядок выбора на клиенте сетевого протокола при подключении через SQLOLEDB?
Как форма записи имени сервера в строке соединения влияет на выбор протокола?
На стороне сервера все протоколы включены.

Для Native Client понятно, порядок перебора протоколов задается на сервере.
По SQLOLEDB нигде не могу найти информацию.
...
Рейтинг: 0 / 0
31.10.2018, 11:09
    #39725616
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Acce_Ekb,

если не ошибаюсь, TCP, именованные каналы, общая память.
...
Рейтинг: 0 / 0
31.10.2018, 11:09
    #39725617
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Владислав Колосов,

если каналы не объявлены, то сразу память.
...
Рейтинг: 0 / 0
31.10.2018, 11:29
    #39725635
Acce_Ekb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Владислав Колосов,

Не помните, где это описано?
...
Рейтинг: 0 / 0
31.10.2018, 12:17
    #39725709
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Acce_Ekb,

Даже думать об этом не желаю.
...
Рейтинг: 0 / 0
31.10.2018, 12:26
    #39725728
Yasha123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Acce_EkbКак форма записи имени сервера в строке соединения влияет на выбор протокола?

если в строке подключения указан порт, то tcp\ip.
---
почему бы явно не прописать нужный протокол в строке подключения?
...
Рейтинг: 0 / 0
31.10.2018, 12:29
    #39725734
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/320ae626-0bf5-401e-b4a1-1a8173ded21a/wswpexe-accessing-mssql-on-1433-when-serverlocal-on-conn-string?forum=sqldataaccess SQLOLEDB operates with the connection sequence from:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib\ProtocolOrder

OR

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\ProtocolOrder

Please also pay attention to the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\LastConnect which contains information about the last successfull connection attempt.
...
Рейтинг: 0 / 0
31.10.2018, 12:41
    #39725756
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
...
Рейтинг: 0 / 0
31.10.2018, 13:30
    #39725800
Acce_Ekb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Yasha123почему бы явно не прописать нужный протокол в строке подключения?
Это расследование уже задним числом. Просто для себя хочется понимать, почему так:)
...
Рейтинг: 0 / 0
31.10.2018, 13:37
    #39725803
Acce_Ekb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
invm,

Так это про Native Client?
У нас речь про клиентскую библиотеку MDAC SQLOLEDB.

Столкнулись с ситуацией, что при установке SQL 2017 Developer Edition на сервере оказался включен только Shared Memory. И клиентское ПО, запущенное на том же сервере, работающее через ADO, начало сильно тормозить (подозреваем антивирус). "Полечилось" включением на сервере TCP/IP.

В MDAC порядок выбора протоколов - TCP/IP, Named Pipes, Shared Memory.
В Native Client по умолчанию (если не менять настройки SQL Server Native Client Configuration) - Shared Memory, TCP/IP, Named Pipes.
...
Рейтинг: 0 / 0
31.10.2018, 13:50
    #39725810
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Acce_EkbТак это про Native Client?
У нас речь про клиентскую библиотеку MDAC SQLOLEDB.Это без разницы. Принцип не изменился.
Если интересуют древние средства настройки - см. SQL Server Client Network Utility (cliconfg.exe)
...
Рейтинг: 0 / 0
01.11.2018, 15:08
    #39726631
Acce_Ekb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Продолжаю опыты.
Делаю коннект на локальной машине, протоколы Shared Memory, TCP включены, см. скриншоты.

Имя при коннекте указываю в виде ".\<instance>"

Приложение работает через ADO (SQLOLEDB).

Коннектится по TCP. Почему не по Shared Memory, ведь она включена и более приоритетна всегда?
...
Рейтинг: 0 / 0
01.11.2018, 15:38
    #39726669
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Acce_EkbПочему не по Shared Memory, ведь она включена и более приоритетна всегда?

авторTCP, именованные каналы, общая память.
...
Рейтинг: 0 / 0
01.11.2018, 15:50
    #39726680
Acce_Ekb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Владислав Колосов,

Вы читали, что вчера invm писал?
...
Рейтинг: 0 / 0
01.11.2018, 15:53
    #39726684
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Acce_Ekb,

А ваше приложение 64-битное? Если нет, то не те клиентские настройки смотрите.
...
Рейтинг: 0 / 0
01.11.2018, 16:19
    #39726710
Acce_Ekb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
invm,

32-битное. Те такие же.
Завтра еще приведу скриншоты - к каким веткам реестра (SuperSocket...) лезет приложение и, для сравнения, SSMS.
...
Рейтинг: 0 / 0
01.11.2018, 17:11
    #39726741
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Acce_EkbSuperSocket...Похоже ваше приложение использует клиентские библилотеки от SQL Server 2000. Там Shared Memory еще не было.
Настройки этого раритета доступны через cliconfg.exe
...
Рейтинг: 0 / 0
01.11.2018, 18:14
    #39726778
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
invmТам Shared Memory еще не было.По памяти не скажу, но вроде было. Вот, к примеру, SQL 2000 Not listening on Shared Memory. Why not?
...
Рейтинг: 0 / 0
01.11.2018, 18:42
    #39726790
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Гавриленко Сергей АлексеевичПо памяти не скажу, но вроде было.Точно. Было. Библиотека dbmslpcn.
...
Рейтинг: 0 / 0
02.11.2018, 11:34
    #39727106
Acce_Ekb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбора протокола при соединении по SQLOLEDB
Вот для интереса трассировка обращений к реестру
1. откуда читает порядок протоколов старое 32-битное приложение через ADO (SQLOLEDB)
2. куда пишет порядок протоколов утилита конфигурации SQL 2016.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выбора протокола при соединении по SQLOLEDB / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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