Computechsoft Ответов: 1

База данных не создана


When I run application error not display but stop on this line Sqlcon.Open()
Because app.Config not run properly therefore database not created. Generate script
File is “C:\Create\SQLScriptDetail.sql"


Что я уже пробовал:

Config file

<configuration>
  <appSettings>
    <add key="SQLSqriptRead" value="C:\Create\SQLScriptDetail.sql"/>
  </appSettings >
  <connectionStrings>
    <add name="RMS.My.MySettings.StupConnection" connectionString="Data Source=Computech-PC\SQLEXPRESS;Initial Catalog=SQLSqript;Integrated Security=true;User ID=sa;Password=" providerName="System.Data.SqlClient" />
    </connectionStrings>
</configuration>

Imports System.Data.SqlClient
Imports System.Configuration

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim SQLConnectionString As String = ConfigurationManager.ConnectionStrings("RMS.My.MySettings.StupConnection").ConnectionString
        System.Configuration.ConfigurationManager.AppSettings.Get("SQLSqriptRead")

        Using Sqlcon As New SqlConnection(SQLConnectionString)
            Sqlcon.Open()

            Dim Check_User_Name_Found As New SqlClient.SqlCommand("Select Max(Name) from SQLSqript.dbo.Script", Sqlcon)
            Dim Check_UserNameFound = Check_User_Name_Found.ExecuteScalar().ToString()

       End Using

    End Sub
End Class

CHill60

Где находится код, который запускает скрипт для создания базы данных?

Herman&lt;T&gt;.Instance

Кажется, он пытается подключиться к базе данных до того, как она будет создана?

1 Ответов

Рейтинг:
7

OriginalGriff

На первый взгляд - а у меня нет доступа к вашей базе данных, поэтому я не могу проверить - вы пытаетесь создать базу данных в коде, который пытается подключиться к ней. Это не сработает, если только БД уже не существует, и сообщение об ошибке будет указывать, что это не так.

Все, что вам нужно сделать, это подключиться к компоненту database engine без указания используемой базы данных.
На данный момент ваша строка подключения указывает БД:

Data Source=Computech-PC\SQLEXPRESS;Initial Catalog=SQLSqript;Integrated Security=true;User ID=sa;Password='' providerName=System.Data.SqlClient"
                                    \_______________________/
                                              DB
Используйте Строку.Замените, чтобы удалить этот раздел, и он должен начать работать, но вам, вероятно, нужно разобраться с авторизацией - Интегрированная безопасность и имя пользователя и пароль необычны, и вы, вероятно, вообще не хотите раздел ProviderName.