Method/Property 新 SQL 服务器连接出错

Method/Property Error on New SQL Server Connection

我在 VS2013 中 运行ning VB .Net,在 Windows 8 over SQL Server 2008 R2 上,我创建了一个 SQL 连接失败并出现错误:

Property access must assign to the property or use its value.

这是我的代码:

将 oCnn 变暗为 SqlConnection 将 sCnn 调暗为字符串 将 bSunCnnOK 调暗为布尔值

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_ 是传递给 sub 的字符串,运行 时间值为 "SVRSUN07"

在线上出现错误:

oCnn = New SqlConnection(sCnn)

所以在运行时,sCnn 成立:

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

我已经从 .udl 文件中提取了这个连接字符串,在我测试连接时 returns 成功了。

我可以运行SQL通过这个数据库发送短信可以。

下面是一个 ASCII 艺术图,显示了组件之间的关系。您正在尝试将 SQL OLEDB 连接字符串与 SqlConnection 一起使用。这些东西不在一起。

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

如果您真的想使用 SQL OLEDB 本机提供程序,那么您可以使用 OleDbConnection。如果您希望 VB.NET 代码灵活并可能连接到其他 OLEDB 提供程序(例如 Access、Postgres、Mysql 等),这可能很有用。

但是,如果您确定您只会连接到 SQL 服务器,那么使用 SqlConnection"Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SunSystemsData;Data Source=SVRSUN07" 等连接字符串会更容易。