如何在程序中直接执行.sql文件?急!急!急!

zhaohuiguang 2003-11-06 11:44:22
我现在做一管理程序,需要建立数据库,事先要用查询分析器执行.sql语句.现在我想不用用户来手动的执行查询分析器来建立数据库,而是让程序自动的执行.sql文件建立数据库,不知怎样实现?谢谢!!!!!
...全文
14 点赞 收藏 7
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gmlxf 2003-11-06
e.g.--using in *.asp

<%
set DBConn=Server.Createobject("ADODB.CONNECTION")
Connstr="Provider=SQLOLEDB.1;User ID=sa;Password=sa;Initial Catalog=master;Data Source=(local)"
DBConn.Open Connstr
dbconn.execute("exec master..xp_cmdshell 'isql /S btn5 /U sa /P btn /i c:/install.sql /d master'")
%>
回复
shuiniu 2003-11-06
look this
----------
c:\isql/?
回复
伍子V5 2003-11-06
用isql/osql运行该脚本文件:
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\***.sql'

master..xp_cmdshell 'isql /S"服务器名" /U"用户名" /P"密码" /i"x:\xxx.sql"'
回复
txlicenhe 2003-11-06
在查询分析器中执行sql文件
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\***.sql'

master..xp_cmdshell 'isql /S"服务器名" /U"用户名" /P"密码" /i"x:\xxx.sql"'

在命令行下执行:
osql -U sa -P -S DB-Server -d SPVSDB -o err.txt -i F:\1.sql -b

回复
pengdali 2003-11-06
vb:

1:
打包生成脚本文件createDB.sql
2:
定义以下过程
Private Sub CreateDataBase(cnDataBase as connect,sqlFile As String)
Dim strSql As String, strTmp As String
Open sqlFile For Input As #1
strSql = ""
Do While Not EOF(1)
Line Input #1, strTmp
If UCase(strTmp) = "GO" Then
cn.Execute strSql
strSql = ""
Else
strSql = strSql & strTmp & vbCrLf
End If
Loop
If strSql <> "" Then cnDataBase.Execute strSql
Close #1
End Sub
注:cnDatabase 为你到服务器的连接
sqlFile 为你的脚本文件(带路径)
3:
在你的程序开始时期运行以上过程
call createdatabase(cn,app.path+"\createDB.sql")
回复
pengdali 2003-11-06
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\***.sql'
回复
zhaohuiguang 2003-11-06
谢谢大家!!!!
回复
发动态
发帖子
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
社区公告
暂无公告