我是VB.NET的新手,需要一些帮助来建立与sql server的连接。
我用实例名“sqlexpress”和passowrd“sql123”来安装sql server 2008 r2 express。
我需要使用用户'sa'创建与此服务器实例的连接,并恢复我的.bak数据库文件。 在此之后,我想创建一个名为密码'inituser'的新用户,仅用于此数据库,使用VB.NET运行T-SQL查询。
这是我的初始功能:
Private Sub DBConnect()
Dim myConn As SqlConnection
Dim q1 As SqlCommand
Dim q2 As SqlCommand
myConn = New SqlConnection(@"Server=.\SQLEXPRESS;User Id=sa;Password=sqlexpress1;")
' restore the databse .bak file
q1 = myConn.CreateCommand
q1.CommandText = "RESTORE DATABASE AdventureWorks2012 FROM DISK = '" + _DBFilePath + "'"
' create new user for EasyFarmacy Database
q2 = myConn.CreateCommand
q2.CommandText = "CREATE LOGIN inituser WITH PASSWORD = 'inituser' USE EasyFarmacy GO CREATE USER inituser FROM login inituser GO"
Try
myConn.Open()
q1.ExecuteNonQuery()
q2.ExecuteNonQuery()
Catch ex As Exception
MsgBox("Database connection error! + '" + ex.Message + "'")
End Try
myConn.Close()
End Sub
任何人都可以帮助我吗?
答案 0 :(得分:0)
当然这样的命令需要用ExecuteNonQuery
执行myCmd.CommandText = "CREATE LOGIN inituser WITH PASSWORD = 'inituser'"
myConn.Open()
myCmd.ExecuteNonQuery
现在,对于Restore部分,我建议使用对安装Sql Server时部署的SMO库的引用。您可以在GAC中找到所需的程序集
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Management.Sdk.Sfc
Microsoft.SqlServer.Smo
Microsoft.SqlServer.SmoExtended
然后您可以使用Restore类来执行操作。所需的步骤很多,取决于您的背景。所以我给你一个MSDN page about this Restore class的链接,在那里你可以找到一个以编程方式执行的恢复操作的完整示例
答案 1 :(得分:0)
你给了执行你的命令:
Private Sub DBConnect()
Dim myConn As SqlConnection
Dim myCmd As SqlCommand
myConn = New SqlConnection(@"Server=.\SQLEXPRESS;User Id=sa;Password=sql123;")
myCmd = myConn.CreateCommand
myCmd.CommandText = "CREATE LOGIN inituser WITH PASSWORD = 'inituser'"
myConn.Open()
myCmd.ExecuteNonQuery()
myConn.Close()
End Sub