Почему я могу подключиться к серверу sql 2008 через odbc, но не через код vb.net?

Я поддерживаю старую программу vb.net, база данных которой была перенесена с SQL Server 2005 на SQL Server 2008. Есть ли параметр в SQL Server 2008, который разрешает подключения ODBC для доступа к базе данных, но не позволяет VB.NET подключиться к нему программно?

ошибка, которую я продолжаю получать в приложении:

Произошла ошибка при установлении соединения с сервером. При подключении к SQL Server 2005 этот сбой может быть вызван тем, что при настройках по умолчанию SQL Server не разрешает удаленные подключения. (поставщик: поставщик именованных каналов, ошибка: 40 — не удалось открыть соединение с SQL Server)

однако я могу подключиться к нему, когда создаю системный dsn для экземпляра сервера sql и через Инструменты VS2005 >> Подключиться к базе данных.

Вот код, который я использую для подключения:

dim strC as string 
strC = "data source=bob; database=subscribers; user id=bobuser; password=passme" 
dim connection as New SqlClient.SqlConnection(strC)  
try     
   connection.open() 
catch ex as Exception     
   msgbox(ex.message) 
end try  
connection.Close()

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


Ответы (2)


Такой настройки нет, но это возможно, потому что: Вы можете получить доступ к своему серверу через ODBC, потому что использование ODBC DSN создает своего рода локальный мост к серверу. Попытка подключиться к серверу из кода VB.NET с библиотекой SqlClient с клиентского компьютера требует, чтобы ваш сервер Sql принимал удаленные подключения...

Прочтите эту статью MSDN.

Вкратце:

  • Вам нужно настроить Sql Server для разрешения удаленных подключений.
  • Вам нужно убедиться, что ваш брандмауэр не блокирует порты Sql Server.
  • Убедитесь, что TCP/IP включен для связи. механизм для Sql-сервера
person Paul Sasik    schedule 06.01.2011
comment
будет ли разработка приложения Windows в VS2005 иметь значение для подключения к базе данных sql server 2008 по сравнению с использованием VS2010? - person phill; 07.01.2011

Пуск > Выполнить > "CLICONFG" (без кавычек)

В сетевой утилите клиента SQL Server включите именованные каналы через TCP/IP.

person user3954380    schedule 18.08.2014