Methode / Eigenschaft Fehler auf neue SQL server-Verbindung

Ich laufe VB .Net in VS2013, auf einem Windows 8 über SQL server 2008 R2, und meine Erstellung einer SQL-Verbindung fehlschlägt mit dem Fehler:

Der objectzugriff muss der Eigenschaft zugeordnet sein oder seinen Wert verwenden.

Hier ist mein Code:

Dim oCnn Als SqlConnection Dim sCnn Als String Dim bSunCnnOK als Boolean

Try If vsSunserver <> "" Then sCnn = "Provider=SQLOLEDB.1;" & _ "Integrated Security=SSPI;" & _ "Persist Security Info=False;" & _ "Initial Catalog=SunSystemsData;" & _ "Data Source=" & vsSunserver oCnn = New SqlConnection(sCnn) oCnn.Open() bSunCnnOK = True End If Catch ex As Exception bSunCnnOK = False End Try 

_vsSunserver_ ist ein String, der an den Sub übergeben wird und einen Laufzeitwert von "SVRSUN07" .

Der Fehler wird auf der Linie angehoben:

 oCnn = New SqlConnection(sCnn) 

Also zur Laufzeit sCnn gilt:

 "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SunSystemsData;Data Source=SVRSUN07" 

Ich habe diese Verbindungszeichenfolge aus einer .udl-file gehoben, die bei der Testverbindung erfolgreich zurückkehrt.

Ich kann SQLSMS über diese database ausführen OK.

Unten ist ein ASCII-Kunst-Diagramm, das zeigt, wie die Komponenten miteinander verwandt sind. Sie versuchen, eine SQL OLEDB-Verbindungszeichenfolge mit SqlConnection zu verwenden. Diese Dinge gehen nicht zusammen.

 C#/VB.NET code -┬------------> SqlConnection -----------------┬-> SQL server | | ├--> OleDbConnection -┬-> SQL OLEDB provider -┤ | | | | Native code --┤ | | | | └-> OdbcConnection ---┴-> SQL ODBC driver ----┘ 

Wenn Sie den SQL OLEDB nativen Provider wirklich verwenden möchten, können Sie OleDbConnection . Dies könnte nützlich sein, wenn Sie möchten, dass Ihr VB.NET-Code flexibel und möglich ist, eine Verbindung zu anderen OLEDB-Anbietern wie Access, Postgres, Mysql usw.

Allerdings, wenn Sie sicher wissen, dass Sie nur eine Verbindung zu SQL server dann wird es einfacher, SqlConnection stattdessen mit einer Verbindungszeichenfolge wie "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SunSystemsData;Data Source=SVRSUN07"