各位大哥,大姐:如何用VB编程执行一个sql server 的".sql"脚本文件?

zhaoxyu 2001-08-31 04:03:46
各位大哥,大姐,VB编程如何直接执行一个".exe"文件,如何执行一个脚本文件
问题很急,望不吝赐教!!!如果能够,可以给点提示代码?

...全文
132 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
guest 2001-08-31
  • 打赏
  • 举报
回复
文本的内容是:

服务器名= 192.168.100.100
......


格式同上
guest 2001-08-31
  • 打赏
  • 举报
回复
Public Function Load_ini(Strx As String, FileNames As String) As String
'从指定文件中读取指定字符

Dim Textline As String
On Error Resume Next
Open FileNames For Input As #1 ' 打开配置文件。
Do While Not EOF(1)
Line Input #1, Textline
If InStr(Textline, Strx) Then
Load_ini = Mid(Textline, InStr(Textline, "=") + 1)
End If
Loop
Close #1

End Function
guest 2001-08-31
  • 打赏
  • 举报
回复
Sub ConSQL(服务器名 As String, 用户名 As String, 口令 As String, 数据库名 As String, 变量 As String)
'连接SQL Server
If 变量 = "Cn" Then
On Error Resume Next
Cn.Close
On Error GoTo Err1
Cn.ConnectionTimeout = 2100
Cn.Open "Driver={SQL Server};Server=" & 服务器名 & ";Uid=" & 用户名 & ";Pwd=" & 口令 & ";Database=" & 数据库名 & ""
End If

If 变量 = "Cm" Then
On Error Resume Next
Cm.Close
On Error GoTo Err1
Cm.ConnectionTimeout = 2100
Cm.Open "Driver={SQL Server};Server=" & 服务器名 & ";Uid=" & 用户名 & ";Pwd=" & 口令 & ";Database=" & 数据库名 & ""
End If

Exit Sub
Err1:
MsgBox "连接服务器失败!请检查网络的连接是否正确"
'Resume
End Sub
zhaoxyu 2001-08-31
  • 打赏
  • 举报
回复
能贴吗?好人做到底吧,先谢谢了
guest 2001-08-31
  • 打赏
  • 举报
回复
ConSQL Load_ini("服务器名"), Load_ini("用户名"), Load_ini("口令"), data, "Cn"
整个也全是个函数 ,是连接到SQL Server 的
guest 2001-08-31
  • 打赏
  • 举报
回复
playyuer(女㊣爱) :谢谢,我回头就去改改 ,灵活一点好呀! 呵呵
guest 2001-08-31
  • 打赏
  • 举报
回复
load_ini 是我写的另一个函数 读文本文件的
zhaoxyu 2001-08-31
  • 打赏
  • 举报
回复
load_ini 是什么意思?其它地方有过吗?非常感谢你,我还是没有调通,能写详细点吗?
playyuer 2001-08-31
  • 打赏
  • 举报
回复
to jinesc(归去来兮:我很笨,因此只用VB):
我是说"批分隔符"是可自定义的,不一定必须是"GO"! 
建议:
Public Function Creat_Table(data As String, Files As String,optional EndOFBat as String="GO") As Boolean
guest 2001-08-31
  • 打赏
  • 举报
回复
这段代码至少贴了6次了
guest 2001-08-31
  • 打赏
  • 举报
回复
我的好象处理过了呀1
playyuer 2001-08-31
  • 打赏
  • 举报
回复
用VB编程执行一个sql server 的".sql"脚本文件时要注意 "GO" 的处理!
xmao 2001-08-31
  • 打赏
  • 举报
回复
可以用打开文件的形式,把.sql文件读到richtext中,然后执行它。
guest 2001-08-31
  • 打赏
  • 举报
回复
Public Function Creat_Table(data As String, Files As String) As Boolean
'本模块用于从*.sql中导入数据库结构到SQL Server
Dim SQL, Txtline As String

On Error Resume Next
Cn.Close
On Error GoTo Err1
ConSQL Load_ini("服务器名"), Load_ini("用户名"), Load_ini("口令"), data, "Cn"
SQL = " "
Open App.Path & "\log.txt" For Output As #2 ' 打开输出文件。
' 将错误数据写入文件。

Open App.Path & Files For Input As #1 ' 打开SQL文件。
Do While Not EOF(1)
Line Input #1, Textline
If Not (Trim(Textline) = "GO") Then
SQL = SQL & Textline & Chr(13)
Else
Cn.Execute SQL 'Mid(SQL, InStr(SQL, "C"))
SQL = " "
End If
Loop
Close #1
Close #2
If Creat_Table = False Then
Shell App.Path & "\log.txt"
End If

Exit Function
Err1:
Print #2, "This is a Error !"
Print #2, Err.Description
Print #2, Err.Number
Print #2, "**********"
Creat_Table = False
Resume Next
End Function

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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