谁知道外部调用.Sql文件然后执行的解决方案?

Devil1011 2004-06-22 07:38:00
我有一个写好的.Sql文件
我要在VB或者别的工具中直接执行该文件怎么处理?怎么调用Osql工具使其自动执行?
...全文
66 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Devil1011 2004-06-23
  • 打赏
  • 举报
回复
谢谢拉,果然NB
^_^
deodarsydn 2004-06-23
  • 打赏
  • 举报
回复
邹建:用的VB
zjcxc 2004-06-22
  • 打赏
  • 举报
回复
'*************************************************************************
'**函 数 名:s_ExecuteSqlFile
'**功能描述:在指定的数据库对象中,执行指定的脚本文件
'**输 入: sFileName 要执行的脚本文件名
'** : iDb 数据库对象,要求是:ADODB.Connection
'** : sPassword 登陆密码
'**输 出: 无
'**调用模块: 无
'**作 者: 邹建
'**日 期: 2004年03月09日
'*************************************************************************
Sub s_ExecuteSqlFile(ByVal sFileName$, ByVal iDb As Object)
Dim iFn As Object

Dim iSql$, iStr$

Set iFn = CreateObject("FileSystemObject").OpenTextFile("c:\1.txt", 1)

With iFn
While .AtEndOfStream = False
iStr = iFn.ReadLine
If UCase(iStr) = "GO" Then
If iSql <> "" Then
iDb.Execute iSql
iSql = ""
End If
Else
iSql = iSql & vbCrLf & iStr
End If
Wend
If iStr<>"" Then iDb.Execute iSql
iFn.Close
End With
End Sub


'调用示例
'要求引用Microsoft ActiveX Data Objects 2.x Library
'
'数据库连接字符串模板
'身份验证模式为:"sql server和windows"
'Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名
'
'身份验证模式为:"仅windows"
'Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=数据库名;Data Source=SQL服务器名

Sub test()
Dim iDb As ADODB.Connection
Dim iConn$

'数据库连接字符串

iConn = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名"

Set iDb = New ADODB.Connection
iDb.Open iConn

s_ExecuteSqlFile "c:\a.sql", iDb '执行脚本文件: c:\a.sql

iDb.Close
Set iDb = Nothing
End Sub

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧