大家知道,wsh(windows script host)在windows平台下是用来代替bat文件的,以其灵活,功能强盛许多人都用来处理自己的日常事物,但在调用excel,sqlerver方面可能不是太清晰了,今天这个例子就是 用vbscript来调用Dcom来生成数据库或删除数据库:
可以先建一个以.vbs结尾的文件,靠下面的东西到里面进去,双击就可以执行了,只要把里面的sql脚步的路径和Sqlserver的密码和账户改下就能用了
Dim str,ff,i ,intt,strtmp \\\'定义普通变量
Dim goSQLServer,oDatabase \\\'定义Sql_Dmo对象变量
Dim fso \\\'定义文件对象
call main()
\\\'==============================================================================
\\\'==============================================================================
public sub main()
InitSqlDmo \".\"
DropDatabase \"Assetcheck\"
CreateDatabase \"assetcheck\"
\\\'取得数据库
Set oDatabase = goSQLServer.Databases(\"assetCheck\")
\\\'msgbox oDatabase.PrimaryFilePath
\\\'执行大量的Sql文本文件
ExecuteSqlFromFile \"D:/AssetCheck/sqltext/assetcheck.sql\"
ClearSqlDmo
If Err.Number <> 0 Then MsgBox \"发生错误\"
MsgBox \"脚本生成完成\"
end sub
\\\'-------------------------------------------------------------------------------
\\\'初始化连接对象
public sub InitSqlDmo(aServerName)
Set fso = CreateObject(\"Scripting.FileSystemObject\")
Set goSQLServer = CreateObject(\"SQLDMO.SQLServer\")
goSQLServer.Connect aServerName, \"sa\", \"\"
end sub
\\\'-----------------------------------------------------------------------------
\\\'创建数据库
public sub CreateDatabase(astrDataBaseName )
strtmp = \" create DataBase \" & astrDataBaseName
goSQLServer.ExecuteImmediate strtmp
end sub
\\\'删除数据库
public sub DropDatabase(astrDataBaseName )
strtmp = \" Drop DataBase \" & astrDataBaseName
goSQLServer.ExecuteImmediate strtmp
end sub
\\\'------------------------------------------------------------------------------
\\\'执行脚本
public sub ExecuteSqlFromFile(astrExecuteSqlFile )
Set ff = fso.OpenTextFile(astrExecuteSqlFile)
Do While ff.AtEndOfStream <> True
strtmp = ff.ReadLine
str = str & vbCrLf & strtmp
i = i + 1
If i >= 1500 And strtmp = \"\" Then
i = 1
oDatabase.ExecuteImmediate (str)
str = \"\"
End If
Loop
If Trim(str) <> \"\" Then
oDatabase.ExecuteImmediate (str)
End If
ff.Close
end sub
\\\'-----------------------------------------------------------------------------------
public sub ClearSqlDmo()
Set fso = Nothing
Set goSQLServer = Nothing
end sub
返回类别: 教程
上一教程: ASP.NET可交互式位图窗体设计(4)
下一教程: ASP.NET中数据库的操作初步(2)
您可以阅读与" 一个用Wsh来控制SqlServer的Dcom的VBs"相关的教程:
· 一个用C#写的词法分析程序
· 用DataList 控制元件开发的一个简朴的留言本程序
· .Net里一个用于驱动摄像头的类
· 一个用c#写的扫描asp源码漏洞的应用程序(续)
· 一个用c#写的扫描asp源码漏洞的应用程序