用SQL-SERVER作为后台数据库时,安装打包的VB程序,希望一些数据库的创建能够自动在SQL中做,
或VB如何在SQL-SERVER中创建数据库?1000分给!

解决方案 »

  1.   

    http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=180207
      

  2.   

    如何查看SQL中的TABLE已经存在?
      

  3.   

    在Sql server中:
    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[SMChild]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) '存在
    drop table [dbo].[SMChild]
      

  4.   

    还是手工建库比较方便,执行建库脚本就可以了,可以自动生成整个数据库只要给可以一个简单的操作说明和一个.sql文件.sql文件可以这样生成:在SQLServer企业管理器中,鼠标右键点数据库,所有任务-生成SQL脚本,在对话框中设置好,点确定就可以了~
      

  5.   

    只要给客户一个简单的操作说明和一个.sql文件,说明如何打开查询分析器,如何执行SQL脚本
      

  6.   

    可以不用查询分析器执行一个.sql文件
    'ExexSC(服务器名,用户名,密码,脚本路径)'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Public Sub ExexSC(TxtServerName As String, TxtLoginName As String, _
    TxtLoginPWD As String, yourFileName As String)
    '首先引用SQL DMO OBJECTLIBRARY
    Dim GOBJServer As SQLDMO.SQLServer
    Set GOBJServer = New SQLDMO.SQLServer
    GOBJServer.LoginTimeout = 10
    GOBJServer.Connect TxtServerName, TxtLoginName, TxtLoginPWD
    '登录数据库服务器
    '''''''''''''''''''''
    'Dim LOBJDatabase As New SQLDMO.Database
    '         LOBJDatabase.Name = LStrDBName
    '
    '         '建立数据库数据文件
    '         Dim LObjDBF As New SQLDMO.DBFile
    '         LObjDBF.Name = LStrDBName       '名称
    '         LObjDBF.PhysicalName = GOBJServer.Registry.SQLDataRoot & "\DATA\" & LStrDBName & ".dbf"  '文件名称
    '         LObjDBF.Size = 10    '初始大小10M
    '         LObjDBF.FileGrowthType = SQLDMOGrowth_Percent '增长方式为按比例
    '         LObjDBF.FileGrowth = 5 '增长5%
    '         LOBJDatabase.FileGroups("PRIMARY").DBFiles.Add LObjDBF   '将数据库文件绑定到数据库
    '
    '         '建立日志文件
    '         Dim lOBJLogF As New SQLDMO.LogFile
    '         lOBJLogF.Name = LStrDBName & "_Log.ldf"
    '         lOBJLogF.PhysicalName = GOBJServer.Registry.SQLDataRoot & "\DATA\" & LStrDBName & "_log.ldf" '文件名称
    '         lOBJLogF.Size = 5  '初始大小5M
    '         LOBJDatabase.TransactionLog.LogFiles.Add lOBJLogF    '将日志文件增加到数据库
    '
    '         '将数据库添加到服务器
    '         GOBJServer.Databases.Add LOBJDatabase
    ''建立新的数据库
    '''''''''''''''''''''''''''''''
    'Dim lObjLogin As New SQLDMO.Login   '登录用户对象
    'Dim lObjUser As New SQLDMO.User     '数据库用户对象
    '
    'lObjLogin.Name = Trim(TxtUserName.Text) '指定用户登录名
    'lObjLogin.Database = CboDatabases.Text '默认登录数据库
    'lObjLogin.DenyNTLogin = False          '非NT系统登录
    'GOBJServer.Logins.Add lObjLogin        '添加登录用户
    'lObjLogin.SetPassword "", Trim(TxtPWD.Text) '指定密码
    'GOBJServer.ServerRoles(1).AddMember Trim(TxtUserName.Text) '指定用户为超级用户
    'lObjUser.Name = lObjLogin.Name          '指定用户名
    'lObjUser.Login = lObjLogin.Name         '
    'GOBJServer.Databases(CboDatabases.Text).Users.Add lObjUser '为系统数据库添加该新用户
    ''为新数据库建立用户
    '''''''''''''''''''''''''''''''''''
    Dim fillname As Integer '文件句柄
    Dim lStrLine As String
    fillname = FreeFile
    Dim UstrSQlScript As String     '记录数据库脚本
    Open yourFileName For Input As #fillname
         Do While Not EOF(fillname)
            Line Input #fillname, lStrLine
            UstrSQlScript = UstrSQlScript + lStrLine + (Chr(13) + Chr(10))
         Loop
    Close #fillname
    '读出脚本文件到变量
    ''''''''''''''
    '执行脚本建立数据库
    GOBJServer.Databases("pubs").ExecuteImmediate UstrSQlScript, SQLDMOExec_DefaultMsgBox "执行成功"
    GOBJServer.Close
    Set GOBJServer = Nothing
    End Sub
      

  7.   

    我写的一个函数必须'首先引用SQL DMO OBJECTLIBRARY
    然后按照: viena(维也纳nn-实心木头人) 的方法创建一个.sql脚本
    然后调用我的方法.
    注意:
    脚本中在执行 create database 之后 创建表之前必须+上
    use 数据库
    go
    这样才能把表插入正确de数据库