Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Что не так с этой строкой подключения ADODB к серверу sql 2005

Автор вопроса: phillОтветов: 4

Я работаю над заполнением поля со списком в Visual Studio 2005 с помощью vb, и я застрял в части строки подключения. Я должен упомянуть, что я подключаюсь к экземпляру SQL Server 2005. Вот что у меня есть:

Dim gDBA As ADODB.Connection
Dim records As ADODB.Recordset

gDBA = New ADODB.Connection
gDBA.Open("Server=e-13;Database=subscribers;User ID=KViews;Password=Solution;Trusted_Connection=False;", "KViews", "Solution")

Я получил строку подключения с http://www.connectionstrings.com/sql-server-2005#p1

Когда я нажимаю "Выполнить", я получаю сообщение COMException was unhandled: "[Microsoft] [Диспетчер драйверов ODBC] Имя источника данных не найдено, и драйвер по умолчанию не указан".

Я предполагаю, что строка подключения ищет имя системного драйвера ODBC, однако я не уверен, куда это поместить. любые идеи по этому поводу или что еще я могу делать неправильно?

заранее спасибо

odbcvisual-studiosql-server

Ответы

Ответ 1 · рейтинг 3 · gbn

Возможно, вам не хватает "Provider=SQLNCLI", или "Provider=SQLOLEDB", или "Driver={SQL Native Client}" в строке соединения. В цитируемой вами статье показаны 2 из них, но без установленного собственного клиента SQL вы можете полагаться на SQLOLEDB.

Это указывает драйвер, в противном случае он получен из DSN, установленного через панель управления. Это объясняет ошибку.

Ответ 2 · рейтинг 1 · koosk

Эта строка подключения в настоящее время используется в приложении asp, подключающемся к Sql Server 2008 Express.

"Driver={SQL Native Client};Server=serverName;Database=databaseName;Uid=userId;pwd=password;время ожидания подключения=60;"

Ответ 3 · John

Как насчет использования "Источник данных" и "Исходный каталог" вместо "Сервер" и "База данных"?

Ответ 4 · Ralf de Kleine

Если вы подключаетесь к серверу SQL, попробуйте использовать пространство имен System.Data.SqlClient.

Dim cn As New SqlClient.SqlConnection("User ID=KViews;Password=Solution;Initial Catalog=subscribers;Data Source=e-13")
cn.Open()
Dim cmd As New SqlClient.SqlCommand("Select * from tabel")
cmd.Connection = cn
Dim r As SqlClient.SqlDataReader = cmd.ExecuteReader

(SqlClient - это управляемый код - родной ADODB)

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы