`
webcenterol
  • 浏览: 916762 次
文章分类
社区版块
存档分类
最新评论

一个用于远程执行SQL脚本的函数

 
阅读更多

一个用于远程执行SQL脚本的函数

当后台使用SQL Server数据库时,我们不可避免的需要在里面创建视图、存储过程等,但老从企业管理器里面去处理又不太方便,这里提供了一个用于远程连接SQL Server数据库然后执行一个本地SQL脚本的通用函数,不过我对SQL Server没什么深入的研究,高手凑合着看,新手凑合着用^o^。

'=====================================================================================
'函数名称: ExecuteSQLScriptFile
'功能描述: 在指定SQL Server数据库中执行SQL脚本
'输入参数: Server 必需的,服务器名称或IP地址
' Database 必需的,数据库名称
' UserID 必需的,访问数据库的用户名
' Password 必需的,访问数据库的用户密码
' SQLScriptFile 必需的,SQL脚本文件路径名
'返回参数: 脚本执行成功返回True,否则返回False
'使用示例: ExecuteSQLScriptFile "192.168.1.1","NorthwindCS","sa","sa","C:\test.sql"
'相关调用:
'使用注意:
'兼 容 性: 只在SQL Server 2000数据库上测试过
'参考资料:
'作 者: 红尘如烟
'创建日期: 2010-8-7
'=====================================================================================
Public Function ExecuteSQLScriptFile(ByVal Server As String, _
ByVal Database As String, _
ByVal UserID As String, _
ByVal Password As String, _
ByVal SQLScriptFile As String) As Boolean
On Error GoTo Err_ExecuteSQLScriptFile
Dim strSQL As String
Dim strTemp As String
Dim intFileNum As Integer
Dim cnn As Object

intFileNum = FreeFile()
Open SQLScriptFile For Input As #intFileNum
strSQL = ""
Do While Not EOF(1)
Line Input #intFileNum, strTemp
If UCase$(strTemp) <> "GO" Then strSQL = strSQL & strTemp & vbCrLf
Loop
Close #intFileNum
If strSQL <> "" Then
strTemp = "Provider=SQLOLEDB" & _
";Data Source=" & Server & _
";Initial Catalog=" & Database
Set cnn = CreateObject("ADODB.Connection")
cnn.Open strTemp, UserID, Password
cnn.Execute strSQL
cnn.Close
ExecuteSQLScriptFile = True
End If


Exit_ExecuteSQLScriptFile:
Set cnn = Nothing
strSQL = ""
strTemp = ""
Exit Function

Err_ExecuteSQLScriptFile:
If err = 53 Then
MsgBox "指定的SQL脚本文件 '" & SQLScriptFile & "' 不存在。", vbCritical
ElseIf err = -2147217900 Then
MsgBox err.Description, vbCritical, "SQL脚本运行错误"
Else
MsgBox err.Description, vbCritical
End If
Resume Exit_ExecuteSQLScriptFile
End Function
分享到:
评论

相关推荐

    SQLServer2000高级编程技术(part02)-想学存储过程 SQL编程 务必要看

    10.1.1 执行一个串 10.1.2 通过窗体查询 10.1.3 使用sp_executesql存储过程 10.2 使用时间戳的乐观锁 10.2.1 时间戳 10.2.2 TSEQUAL函数 10.2.3 时间戳转换 10.3 全文搜索和索引 10.4 嵌套的存储过程 10.4.1 使用...

    SQLServer2000高级编程技术-已添加书签,想学存储过程、SQL编程务必要看,分析非常透彻

    10.1.1 执行一个串 10.1.2 通过窗体查询 10.1.3 使用sp_executesql存储过程 10.2 使用时间戳的乐观锁 10.2.1 时间戳 10.2.2 TSEQUAL函数 10.2.3 时间戳转换 10.3 全文搜索和索引 10.4 嵌套的存储过程 10.4.1 使用...

    SQLSERVER数据库升级脚本图文步骤

    我特意做了一个脚本,用电话指导客户在SSMS里执行一下脚本就可以了 1.0的数据库跟1.1的数据库的区别是1.1的数据库里的其中一个[CT_OuterCard]表比1.0的多了6个字段,其他所有表都一样 还有存储过程增加了很多,其他...

    Microsoft SQL Server 2005 Express Edition SP3

    Microsoft SQL Server 2005 Express Edition (SQL Server Express) 是一个免费且易于使用的 SQL Server 2005 版本,它替换了 Microsoft Desktop Engine (MSDE)。与 Microsoft Visual Studio 2005 集成之后,SQL ...

    经典SQL语句大全

    3),例如:在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体位置,这样只有在下一次全部导入,这样也就产生好多重复的字段,怎样删除重复字段 alter table tablename --添加一个自增列 add...

    达梦数据库_SQL语言手册

    的第一个标准是年月由美国国家标准化组织公布的 数据库语言 简称 年国际标准化组织也通过了这一标准。以后通过对 的不断修改和完善,于年第二次公布了标准 年又公布了标准 即 。最新的标准是 (也称 年作为 ...

    SQLManager.exe

    是一款好用的sql管理客户端,适用于sql2000版本,支持连接本地数据库和远程数据库进行操作,包括查看所有数据表、视图、存储过程、自定义函数,导出各种脚本等

    SQL Server客户端工具(WPF,开源)

    VS2010 WPF开发的SQL Server客户端工具,可以完美操作远程数据库,包括查看所有数据表、视图、存储过程、自定义函数,导出各种脚本。完全开源。

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和...

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和...

    SQL.Server.2008管理员必备指南.part4.rar(4/4)

     5.2.5 添加SQL Server到一个组 107  5.3 管理服务器 107  5.3.1 注册已连接服务器 108  5.3.2 在“已注册的服务器”视图中注册新的服务器 109  5.3.3 注册以前注册的SQL Server 2000服务器 109  5.3.4 更新...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    5.2.5 添加SQL Server到一个组 5.3 管理服务器 5.3.1 注册已连接服务器 5.3.2 在“已注册的服务器”视图中注册新的服务器 5.3.3 注册以前注册的SQL Server 2000服务器 5.3.4 更新本地服务器注册 5.3.5 将服务器组和...

    SQL查询安全性及性能优化

     优化:【检查SQL语句是否能够使用索引,SQL语句如何执行效率高,制定一个执行计划】  编译:  执行SQL语句:【把编译过的查询要求提交并进行处理】 如何优化SQL 完善开发的管理 完善代码审核、测试机制,...

    sql经典语句一部分

    3),例如:在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体位置,这样只有在下一次全部导入,这样也就产生好多重复的字段,怎样删除重复字段 alter table tablename --添加一个自增列 add...

    php脚本资料电子书籍

    Webfroot Shoutbox远程命令执行漏洞 Webmin-Usermin Session ID欺骗未授权可访问漏洞 welcome xss-faq Zend Optimizer加速php ZendCache使你的站点飞起来 对PHP程序中的常见漏洞进行攻击之狗尾续貂 对PHP程序中的...

    SQL.Server.2008管理员必备指南.part2.rar(2/4)

     5.2.5 添加SQL Server到一个组 107  5.3 管理服务器 107  5.3.1 注册已连接服务器 108  5.3.2 在“已注册的服务器”视图中注册新的服务器 109  5.3.3 注册以前注册的SQL Server 2000服务器 109  5.3.4 更新...

    SQL.Server.2008管理员必备指南.part1.rar(1/4)

     5.2.5 添加SQL Server到一个组 107  5.3 管理服务器 107  5.3.1 注册已连接服务器 108  5.3.2 在“已注册的服务器”视图中注册新的服务器 109  5.3.3 注册以前注册的SQL Server 2000服务器 109  5.3.4 更新...

    数据库操作语句大全(sql)

    3),例如:在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体位置,这样只有在下一次全部导入,这样也就产生好多重复的字段,怎样删除重复字段 alter table tablename --添加一个自增列 ...

    Navicat_for_mysql_11.zip

    Navicat Premium 11是一款非常好用的数据库管理和开发工具,它可以帮助用户连接本地或远程服务器,软件内置功能强大,可以为用户提供SQL编辑器、导入或导出、转储或运行SQL脚本等各种功能,从而协助你管理数据!...

    Navicat Premium v11.zip数据库可视化工具

    Navicat Premium 11是一款非常好用的数据库管理和开发工具,它可以帮助用户连接本地或远程服务器,软件内置功能强大,可以为用户提供SQL编辑器、导入或导出、转储或运行SQL脚本等各种功能,从而协助你管理数据!...

Global site tag (gtag.js) - Google Analytics