如何使用 vb.net 代码创建 SQL Server 数据库
-
21-12-2019 - |
题
我正在使用 VB 2012 和 SQL Server 2012 Localdb
我想创建一个数据库文件(.mdf
)在我的文件夹中 C:\AppData
例如。数据库文件名 0105.mdf
& 日志文件名 0105.ldf
谁能告诉我程序吗?
我可以使用连接字符串连接到 SQL Server 2012 localdb
Data Source=(LocalDB)\v11.0;AttachDbFilename={0};Integrated Security=True;Connect Timeout=30
解决方案 2
谢谢史蒂夫·佩蒂弗
这是有效的最终代码
Dim Conn As New SqlConnection("Data Source=(LocalDB)\v11.0;Initial Catalog=master;Integrated Security=True")
Using Conn
Conn.Open()
Dim cmd As SqlCommand = Conn.CreateCommand
Dim str As String = "CREATE Database {0} ON (Name= N'{0}', FileName='{1}\{0}.mdf')"
cmd.CommandText = String.Format(str, T2.Text, T1.Text)
cmd.ExecuteNonQuery()
End Using
T1.文本:文件夹位置T2.TEXT:不带扩展名的文件名
其他提示
使用 SqlCommand.ExecuteNonQuery
Imports System.Data.SqlClient
Dim queryString As String = "CREATE DATABASE [0105] ON PRIMARY (NAME = N'0105', FILENAME = N'C:\APPDATA\Pluto_Data.MDF' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) " & _
"LOG ON (NAME = N'0105_Log', FILENAME = N'C:\APPDATA\0105_Log.LDF' , SIZE = 1024KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )"
Using connection As New SqlConnection(queryString)
Dim command As New SqlCommand(queryString, connection)
command.Connection.Open()
command.ExecuteNonQuery()
End Using
只需更改上面需要更改的位,例如文件组、文件增长和初始大小等。我认为这会起作用,尽管我没有 LocalDB 来尝试它,所以我可能有点偏离路线。
编辑: 我偏离了路线,对 T-SQL 过于自由和轻松。
请尝试使用我在下面的评论中添加的链接。
Public Function CreateDatabase(ByVal dbName As String, ByVal dbFileName As String) As Boolean
Try
Dim connectionString As String = String.Format("Data Source=(LocalDB)\v11.0;Initial Catalog=master;Integrated Security=True")
Using connection As New SqlConnection(connectionString))
connection.Open()
Dim cmd As SqlCommand = connection.CreateCommand()
DetachDatabase(dbName)
cmd.CommandText = String.Format("CREATE DATABASE {0} ON (NAME = N'{0}', FILENAME = '{1}')", dbName, dbFileName)
cmd.ExecuteNonQuery()
End Using
If (My.Computer.FileSystem.FileExists(dbFileName)) Then
Return True
Else
Return False
End If
Catch
Throw
End Try
End Function
不隶属于 StackOverflow