2013-07-27 3 views
0

я пытаюсь создать базу данных динамически VB.net следующим кодомСоздание базы данных Динамически

Dim str As String 
Dim myConn As SqlConnection = New SqlConnection("Server=(local)\netsdk;" & _ 
            "uid=sa;pwd=a123;database=master") 

str = "CREATE DATABASE MyDatabase ON PRIMARY " & _ 
     "(NAME = MyDatabase_Data, " & _ 
     " FILENAME = 'E:\MyDatabaseData.mdf', " & _ 
     " SIZE = 2MB, " & _ 
     " MAXSIZE = 10MB, " & _ 
     " FILEGROWTH = 10%) " & _ 
     " LOG ON " & _ 
     "(NAME = MyDatabase_Log, " & _ 
     " FILENAME = 'E:\MyDatabaseLog.ldf', " & _ 
     " SIZE = 1MB, " & _ 
     " MAXSIZE = 5MB, " & _ 
     " FILEGROWTH = 10%) " 

Dim myCommand As SqlCommand = New SqlCommand(str, myConn) 

Try 
    myConn.Open() 
    myCommand.ExecuteNonQuery() 
    MessageBox.Show("Database is created successfully", _ 
        "MyProgram", MessageBoxButtons.OK, _ 
        MessageBoxIcon.Information) 
Catch ex As Exception 
    MessageBox.Show(ex.ToString()) 
Finally 
    If (myConn.State = ConnectionState.Open) Then 
     myConn.Close() 
    End If 
End Try 

, но у меня есть следующее сообщение об ошибке, когда проект запуска:

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)

+0

должен ли ваш con string быть '(localdb)' вместо '(local)'? –

+0

ошибка все еще не используется – mhmad

ответ

2

Вы должны иметь фактический экземпляр сервера, который имеет то же имя, которое вы используете в своей строке подключения:

Dim myConn As SqlConnection = New SqlConnection("Server=(local)\netsdk;" & _ 
             "uid=sa;pwd=a123;database=master") 

I В этом случае это (local)\netsdk, и у вас, по-видимому, нет экземпляра SQL Server с именем netsdk, установленного на компьютере, где вы выполняете этот код.

+0

Дополнительная информация – mhmad

+1

** У вас должен быть экземпляр сервера с этим именем, запущенным на компьютере **. Я не знаю, как быть более конкретным. Если у вас нет экземпляра SQL Server с именем '(local) \ netsdk' в системе, вы не можете создать в нем базу данных. Если нет женщины по имени Мария, я не могу назвать мальчика как «сына Марии». –

+0

Мне нужен способ создания базы данных с помощью VB, поэтому после того, как я purplish мое приложение запустил его Приложение на компьютере без необходимости SQL Server – mhmad

1
New SqlConnection("Server=(local)\netsdk;" 

Сообщает, что ваше приложение должно подключаться к экземпляру SQL Server, запущенному на вашем компьютере.

my Application run it App on computer without need SQL Server

Это противоречит тому, что говорит ваш код. Это также противоречит тегу sql-server в вашем вопросе. Какое приложение вы строите? Настольное приложение для Windows? Winforms?

Если вы создаете одномашинное приложение, которое должно работать без установленной базы данных, вы должны использовать встроенную базу данных, такую ​​как SQL Compact. База данных запускается внутри вашего приложения, и вам не нужно запускать отдельный экземпляр.

Строки подключения для SQL Compact отличаются от показанных вами, вам нужно будет следовать руководству. Нажмите «Учебный центр» на странице SQL Compact.

Смежные вопросы