代码直接执行Sql脚本啊

采用sqlserver的内置对象或者osql  
 
'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_Default  
 
MsgBox    "执行成功  "  
GOBJServer.Close  
Set  GOBJServer  =  Nothing  
End  Sub  
 
 
osql(sqlserver7.0是isql)  -U  用户名  -P  密码(密码为空的话也必须写该参数)  -e  回显(可选)  -i  脚本相对或者绝对路径  
如要执行当前路径下的的  用户名  sa  密码  空  aaa.sql  脚本  
osql  -U  sa  -P  -e  -i  aaa.sql

注意:my.sql  里面有go语句可能不行

这个对象必须安装了sql_server才能有,Microsoft  SQLDMO  Object  Library  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值