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

Я работаю над заполнением поля со списком в 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, однако я не уверен, куда это поместить. любые идеи по этому поводу или что еще я могу делать неправильно?

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


person phill    schedule 20.10.2009    source источник


Ответы (4)


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

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

person gbn    schedule 20.10.2009

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

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

person koosk    schedule 20.10.2009

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

person John    schedule 20.10.2009

Если вы подключаетесь к серверу 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)

person Ralf de Kleine    schedule 20.10.2009