0

Я создаю приложение VB.NET WinForms в VS2013. В программе используется база данных SQL Server 2012 (полная версия SQL Server - NOT SQL Express), которая является локальной для развернутого приложения - как на компьютере разработки, так и на компьютере (единственном компьютере), в котором будет использоваться программа.Правильная строка подключения для приложения VB.NET WinForms, подключающегося к локальному SQL Server db

В программе, когда пользователь нажимает кнопку, необходимо выполнить 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.

Когда я использую первую и вторую строку соединения есть пауза примерно пяти секунд, а затем ошибка SqlException происходит на Connection.Open() линии, говоря

A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Когда я использую либо из строк подключения для .mdf файл я получаю ошибку говоря SqlException

Database 'hours_analysis' does not exist. Make sure that the name is entered correctly.

(путь к файлу правильно)

Какую строку подключения мне нужно использовать?

+2

Вы используете SQLExpress? Я использую локальный сервер с Data Source =. \ SQLEXPRESS в качестве строки подключения. – Tim

+0

http://www.connectionstrings.com/sql-server/ –

+0

@Mark - я связался с этой страницей в своем вопросе ... – marky

ответ

0

Для любого другого, который ищет помощи на это, вот что у меня есть в моем файле App.config:

<add name="[APPLICATIONNAME].My.MySettings.LocalDevServerConnectionString" 
     connectionString="Data Source=[YOURCOMPUTERNAME];Initial Catalog=[DBYOUWANTTOCONNECTOT];Integrated Security=True" 
     providerName="System.Data.SqlClient" /> 
Смежные вопросы