我正在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'不存在。确保正确输入名称。
(文件的路径正确)
我需要使用什么连接字符串?
答案 0 :(得分:0)
对于其他正在寻求帮助的人,这是我在App.config文件中的内容:
<add name="[APPLICATIONNAME].My.MySettings.LocalDevServerConnectionString"
connectionString="Data Source=[YOURCOMPUTERNAME];Initial Catalog=[DBYOUWANTTOCONNECTOT];Integrated Security=True"
providerName="System.Data.SqlClient" />