Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Строка подключения  [new]
Михайло_
Member

Откуда:
Сообщений: 118
Здравствуйте! Используя DSN (источник данных ODBC) я успешно использую ADO-соединение для работы из MS Access с сетевым MS SQL Server Express 2005 со следующей строкой подключения:

Dim rst As New ADODB.Recordset
rst.Open "SELECT ... FROM ...", "ODBC;DRIVER=SQL Server;DSN=RT;UID=RT_user;PWD=RT_user_password"

Теперь я хочу избавиться от DSN-имени (в том числе, и от файлового DSN) в строке подключения:

"Network Address=10.1.10.18;Initial Catalog=RT;User ID=RT_user;Password=RT_user_password"

Но возникает ошибка: "Источник данных не найден и не указан драйвер, используемый по умолчанию"
Безрезультатно пытался найти ошибку в "Использование ключевых слов строки подключения с собственным клиентом SQL Server", раздел "Ключевые слова строки подключения объектов данных ActiveX (ADO)"
http://technet.microsoft.com/ru-ru/library/ms130822.aspx
Сервер установлен на компьютере PK (10.1.10.18), при запуске "Среда SQL Server Management Studio Express" соединение устанавливается для "Имя сервера"="PK\SQLEXPRESS", база данных называется "RT".
3 фев 14, 16:38    [15511506]     Ответить | Цитировать Сообщить модератору
 Re: Строка подключения  [new]
Glory
Member

Откуда:
Сообщений: 104751
http://www.connectionstrings.com/sql-server/
3 фев 14, 16:41    [15511533]     Ответить | Цитировать Сообщить модератору
 Re: Строка подключения  [new]
Михайло_
Member

Откуда:
Сообщений: 118
Спасибо, Glory, но, к сожалению, мне так и не удалось найти отличия между http://technet.microsoft.com/ru-ru/library/ms130822.aspx и http://www.connectionstrings.com/sql-server/
Проблема осталась нерешённой...
4 фев 14, 10:39    [15514466]     Ответить | Цитировать Сообщить модератору
 Re: Строка подключения  [new]
Glory
Member

Откуда:
Сообщений: 104751
Михайло_
мне так и не удалось найти отличия между http://technet.microsoft.com/ru-ru/library/ms130822.aspx и http://www.connectionstrings.com/sql-server/

А мне так и не удалось понять, откуда вы взяли параметер "Network Address". Придумали что ли ?

Михайло_
Проблема осталась нерешённой...

Возьмите строку подключения из примеров http://www.connectionstrings.com/sql-server/
4 фев 14, 10:42    [15514485]     Ответить | Цитировать Сообщить модератору
 Re: Строка подключения  [new]
aleks2
Guest
Михайло_
Спасибо, Glory, но, к сожалению, мне так и не удалось найти отличия между http://technet.microsoft.com/ru-ru/library/ms130822.aspx и http://www.connectionstrings.com/sql-server/
Проблема осталась нерешённой...

Оспаде! MS Access гораздо лучше всех нас умеет сочинять строки подключения к MS SQL.

1. Сделай проект .ADP
2. Подключи его штатным диалогом к твоему серверу.
3. Посмотри строку подключения из VBA: CurrentProject... дальше я уже не помню.
4 фев 14, 10:45    [15514519]     Ответить | Цитировать Сообщить модератору
 Re: Строка подключения  [new]
Михайло_
Member

Откуда:
Сообщений: 118
Glory! Параметеры "Network Address", "Data Source", "Server", "Address" и "Addr" - эквивалентны (см. http://www.connectionstrings.com/all-sql-server-connection-string-keywords/).
aleks2! Спасибо за подсказку! Действительно, выбрав в меню MS Access "Файл"/"Создать"/"Проект с имеющимися данными..." можно посмотреть CurrentProject.AccessConnection.ConnectionString.

Получилась вот такая строка подключения:
"Provider=Microsoft.Access.OLEDB.10.0;Data Provider=SQLOLEDB.1;Server=10.1.10.18\SQLEXPRESS;Database=RT;User ID=RT_user;Password=RT_user_password"

Но теперь все данные в формах - в режиме "только для чтения"... Что теперь не так?
4 фев 14, 11:59    [15515085]     Ответить | Цитировать Сообщить модератору
 Re: Строка подключения  [new]
Михайло_
Member

Откуда:
Сообщений: 118
Вот текст программы:

Dim rst As New ADODB.Recordset
rst.CursorLocation = adUseClient
rst.Open "SELECT ... FROM ...", "Provider=Microsoft.Access.OLEDB.10.0;Data Provider=SQLOLEDB.1;Server=10.1.10.187\SQLEXPRESS;User ID=RT_user;Password=user_RT;Database=RT", adOpenKeyset, adLockOptimistic
Set Recordset = rst
rst.Close
4 фев 14, 12:02    [15515102]     Ответить | Цитировать Сообщить модератору
 Re: Строка подключения  [new]
Glory
Member

Откуда:
Сообщений: 104751
Михайло_
Glory! Параметеры "Network Address", "Data Source", "Server", "Address" и "Addr" - эквивалентны (см. http://www.connectionstrings.com/all-sql-server-connection-string-keywords/).

Какие все умные про эквиваленты, а скопировать готовый пример из ссылки не могут

Connect via an IP address
Provider=sqloledb;Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
4 фев 14, 12:05    [15515138]     Ответить | Цитировать Сообщить модератору
 Re: Строка подключения  [new]
Михайло_
Member

Откуда:
Сообщений: 118
Спасибо, Glory! "Provider=sqloledb" - это был ключевой и недостающий элемент!

"Provider=sqloledb;Server=10.1.10.18,1433;Database=RT;User ID=RT_user;Password=RT_user_password"
или
"Provider=sqloledb;Server=10.1.10.18\SQLEXPRESS;Database=RT;User ID=RT_user;Password=RT_user_password"

Всем спасибо!
4 фев 14, 12:22    [15515294]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить