我是VB.NET和Azure SQL服务的新手,我花了最近3天的时间寻找答案,但却找不到我能真正理解的答案。这是我的方案和问题:
我有一个VB.NET应用程序,用户将登录到他们的帐户,并在自己的Azure SQL数据库下拥有自己的一组表。我希望我的程序能够自动为它们创建数据库(使用自己选择的名称),这将是Azure中现有空数据库的数据库副本。
我已经可以访问master数据库中的数据表,但我不知道如何在运行时从我的程序中复制它。当我运行我的应用程序并调试以下snippit代码时,我收到一个异常错误,说“你必须登录到master数据库”我不知道如何通过弹出来解决该错误,因为我正在使用主管理员我的普通SQL连接字符串中的帐户。
Private Sub BtnActivate_Click(sender As Object, e As RoutedEventArgs)
If passwrd1.Password <> passwrd2.Password Then
MsgBox("Password doesn't match Confirm Password.", vbOKOnly)
Else
Dim commandString = "CREATE DATABASE " & dbname.Text & " AS COPY OF DBDEV;"
Using connection As New SqlConnection(My.Settings.DBDEVConnectionString)
Dim command As New SqlCommand(commandString, connection)
Try
connection.Open()
command.ExecuteNonQuery()
MsgBox("DATABASE SETUP. USE " & dbname.Text & "AS DBNAME TO CONNECT TO")
Catch ex As Exception
Throw ex
End Try
End Using
End If
End Sub
请帮助,我一直在移动,我正在寻找的一切都没有给我一个明确的答案,这个简单的场景。
答案 0 :(得分:0)
经过多次尝试,我解决了这个问题:在我的连接字符串中,我将初始目录默认为我的数据库,因此我将其更改为&#34; master&#34; (即使我没有名为master的数据库),它也为我执行了数据库副本。哇噢!