7,765
社区成员
发帖
与我相关
我的任务
分享
'创建数据库
lblCreate.Caption = "正在创建新的数据库……"
lblCreate.Refresh
strSql = strSql & "CREATE DATABASE [test5] ON PRIMARY(NAME = N'test5_Data', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test5_Data.MDF' , SIZE = 3, FILEGROWTH = 10%) LOG ON (NAME = N'test5_Log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test5_Log.LDF' , SIZE = 1, FILEGROWTH = 10%)"
Call ExecuteSQL(strSql, 1)'这是一个执行SQL语句的函数 数据库可以创建,说明以上没问题
'执行sql文件
lblCreate.Caption = "正在创建表……"
lblCreate.Refresh
Dim strFile As String
strFile = App.Path + "\test2005.sql"
strSql = "master.dbo.xp_cmdshell 'osql -U " & Trim(txtUserName.Text) & " -P " & Trim(txtPassWord.Text) & " -i """ & strFile & """'"
Dim cn As New ADODB.Connection
cn.Open "Driver={SQL Server};Server=" & Trim(txtServer.Text) & ";Uid=" & Trim(txtUserName.Text) & ";Pwd=" & Trim(txtPassWord.Text)
cn.Execute strSql
cn.Close
--这是test2005.sql文件的内容 是用数据库脚本生成的,加了句Use test5
USE test5
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Table_1]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Table_1](
[id] [nchar](10) NULL,
[text] [nchar](10) NULL
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Table_2]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Table_2](
[id] [nchar](10) NULL,
[name] [nchar](10) NULL
) ON [PRIMARY]
END
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Table_3]') AND type in (N'U'))
BEGIN
CREATE TABLE [dbo].[Table_3](
[id] [nchar](10) NULL,
[sex] [nchar](10) NULL
) ON [PRIMARY]
END
strFile = App.Path + "\test2005.sql"