连接到本地SQL Server数据库的VB.NET WinForms应用程序的正确连接字符串

时间:2014-11-18 15:35:07

标签: vb.net winforms visual-studio-2013 sql-server-2012 connection-string

我正在VS2013中构建一个VB.NET WinForms应用程序。该程序使用的是SQL Server 2012("完全"版本的SQL Server - NOT SQL Express)数据库,该数据库是部署的应用程序的本地数据库 - 在开发计算机和计算机(唯一的计算机)上都是程序将用于。

在程序中,当用户单击按钮时,需要执行sql脚本 - 计算机上的sql文件。

根据我尝试的连接字符串的类型,我遇到了不同的错误,我不确定要使用哪个连接字符串。

这是我的代码:

Private Sub btnLoadMasterData_Click(sender As Object, e As EventArgs) Handles btnLoadMasterData.Click
    Dim connString As String = "Server=DHSNET\[dbuser];Database=hours_analysis;User Id=[USERNAME];Password=[PASSWORD]"
    'Dim connString As String = "Server=DHSNET\[dbuser];Database=hours_analysis;Integrated Security=True"
    'Dim connString As String = "Server=(LocalDB)\v11.0;Integrated Security=True;AttachDbFilename=C:\[PATHTOFILE]\hours_analysis.mdf"
    'Dim connString As String = "Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\[PATHTOFILE]\hours_analysis.mdf;Integrated Security=True;Connect Timeout=30"

    Dim file As New FileInfo("C:\HL_Time_Entry_Reporting\SQL Scripts\stage_employee_hours_load.sql")
    Dim sqlText As String = file.OpenText().ReadToEnd()

    ExecuteCommand(sqlText, connString)
End Sub

Private Sub ExecuteCommand(queryString As String, connectionString As String)
    Using connection As New SqlConnection(connectionString)
        Dim command As New SqlCommand(queryString, connection)
        command.Connection.Open()
        command.ExecuteNonQuery()
    End Using
End Sub

如您所见,我尝试了几种类型的连接。第四个是VS2013为应用程序中的datagridviews连接数据库设置的内容,加载和工作正常。

我从ConnectionStrings.com "SQL Server 2012 connection strings" page得到了另外三个连接字符串。

当我使用第一个和第二个连接字符串时,有一个约5秒的暂停,然后在SqlException行发生Connection.Open()错误,说

  

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:26 - 查找指定的服务器/实例时出错)

当我使用.mdf文件的任何一个连接字符串时,出现SqlException错误

  

数据库' hours_analysis'不存在。确保正确输入名称。

(文件的路径正确)

我需要使用什么连接字符串?

1 个答案:

答案 0 :(得分:0)

对于其他正在寻求帮助的人,这是我在App.config文件中的内容:

<add name="[APPLICATIONNAME].My.MySettings.LocalDevServerConnectionString"
        connectionString="Data Source=[YOURCOMPUTERNAME];Initial Catalog=[DBYOUWANTTOCONNECTOT];Integrated Security=True"
        providerName="System.Data.SqlClient" />