2011-01-06 10 views
2

Ich unterstütze ein altes vb.net-Programm, dessen Datenbank, mit der es verbunden war, von SQL Server 2005 nach SQL Server 2008 verschoben wurde. Gibt es eine Einstellung in SQL Server 2008, die ODBC-Verbindungen den Zugriff auf die Datenbank ermöglicht VB aber nicht zulassen. NET, um es programmgesteuert zu verbinden?Warum kann ich über Odbc, aber nicht über den vb.net-Code eine Verbindung zum SQL Server 2008 herstellen?

der Fehler i in der App Empfang zu halten ist:

An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server)

jedoch kann ich es an, wenn ich ein System dsn auf die SQL Server-Instanz und durch VS2005 des Tools >> Verbindung zu Datenbank erstellen.

Hier ist der Code, den ich verbinden bin mit:

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() 

Antwort

2

Es gibt keine solche Einstellung ist, aber es ist möglich, weil: Sie können Ihre Sever über ODBC zugreifen, da eine ODBC-DSN eine Art erstellt der lokalen Brücke zum Server. Wenn Sie versuchen, eine Verbindung mit dem Server aus VB.NET-Code mit der SqlClient-Bibliothek von einem Clientcomputer herzustellen, erfordert Ihr Sql-Server Remoteverbindungen ...

Überprüfen Sie diese MSDN article für Hilfe.

In Kürze:

  • Sie müssen SQL Server einstellen Remote-Verbindungen
  • Sie müssen damit sicherstellen, dass Ihre Firewall nicht SQL Server-Port blockiert (s)
  • Stellen Sie sicher, TCP/IP ist als Kommunikation aktiviert. Mechanismus für SQL Server
+0

würde die Entwicklung eine Windows-Anwendung ermöglichen einen Unterschied machen, um eine Verbindung zu einer SQL Server 2008-Datenbank im Vergleich zu VS2010 herzustellen? – phill

1

Start> Ausführen> "Cliconfg" (ohne Anführungszeichen)

in der SQL Server-Clientkonfiguration, Named Pipes über TCP/IP in VS2005