Защо мога да се свържа към 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 сървъра
  • Уверете се, че TCP/IP е активиран като комуникация. механизъм за Sql сървър
person Paul Sasik    schedule 06.01.2011
comment
ще има ли значение разработването на Windows приложение във VS2005 за свързване към база данни на sql сървър 2008 спрямо използването на VS2010? - person phill; 07.01.2011

Старт > Изпълнение > "CLICONFG" (Без кавички)

В SQL Server Client Network Utility активирайте Named Pipes през TCP/IP

person user3954380    schedule 18.08.2014