sql-server - 如何使用 VB 连接到 SQL Server?

标签 sql-server vb.net connection-string database-connection

我正在尝试从 VB 连接到 SQL 服务器。网络上的 SQL 服务器使用我的 Windows 登录名进行身份验证。

我可以使用以下 python 代码访问服务器:

import odbc
conn = odbc.odbc('SignInspection')
c = conn.cursor()
c.execute("SELECT * FROM list_domain")
c.fetchone()

这段代码工作正常,返回 SELECT 的第一个结果。但是,我一直尝试在VB中使用SqlClient.SqlConnection,但无法连接。我尝试了几种不同的连接字符串,但这是当前的代码:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim conn As New SqlClient.SqlConnection
    conn.ConnectionString = "data source=signinspection;initial catalog=signinspection;integrated security=SSPI"
    Try
        conn.Open()
        MessageBox.Show("Sweet Success")
        ''#Insert some code here, woo
    Catch ex As Exception
        MessageBox.Show("Failed to connect to data source.")
        MessageBox.Show(ex.ToString())
    Finally
        conn.Close()
    End Try

End Sub

它惨败,并给出一个错误,显示“发生了与网络相关或特定于实例的错误...(提供程序:Named Pipes Provider,错误:40 - 无法打开与 SQL Server 的连接)

我相当确定这是我的连接字符串,但我发现的任何内容都没有给我提供任何我需要使用的可靠示例(server=mySQLServer 不是一个可靠的示例)。

谢谢! -韦恩

最佳答案

您正在使用 ODBC DSN 作为 SqlClient 服务器名称。这是行不通的。您必须使用 SqlClient 连接字符串,对于 SqlClient,DataSource 属性是服务器名称或 SQL Native Client 服务器别名(与 ODBC DSN 不同)。

signinspection 替换为 SQL Server 主机的实际名称。如果是命名实例或监听非默认端口,则也必须指定,例如:hostname\instancename

关于sql-server - 如何使用 VB 连接到 SQL Server?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2859406/

相关文章:

asp.net - 数据库连接 ASP.NET - PostgreSQL

c# - 获取 asp :SqlDataSource Connection String dynamically from a method (Without Webconfig)

sql - MSSQL 选择区别和排序

vb.net - 如何在条件三元运算符中应用 += 运算符

c# - 是否有一个 API 可以设置双击的第一次和第二次点击之间可能发生的最小毫秒数?

asp.net - 从 HTML 导出到 MS Word

c# - Entity Framework 超时

sql - Varchar(max) 列不允许作为 SQL Server 中的主键

sql-server - SSRS 折线图。如何阻止数字在垂直轴上重复

sql-server - [驱动程序管理器]无法打开 lib '/opt/microsoft/sqlncli/lib64/libsqlncli-11.0.so.1790.0' : file not found