在DELPHI中如何将*.SQL的脚本(是存储过程的脚本,有多个过程)运行到数据库中? (50分)

D

dana

Unregistered / Unconfirmed
GUEST, unregistred user!
在DELPHI中如何将*.SQL的脚本(是存储过程的脚本,有多个过程)运行到数据库中?
我写了这样的存储过程,
CREATE PROCEDURE sp_ExecSQL(@strSQl text) AS
exec(@strSQL)

然后用stroedproc调用
with SP_exec do
begin
close;
procedurename:='sp_ExecSQL;1';
Parameters.ParamByName('@strSQl').Value:=sqlstr;
ExecProc;
close;
end;

可是这样运行后提示第1行有错误,这是为什么?
sqlstr传入的是,*.SQL的文件内容
 
CREATE PROCEDURE sp_ExecSQL
@strSQl text
AS
begin
exec(@strSQL)
end
 
我就是这样写的,可是在调用时出错提示第1行有错误
 
直接用QUERY提交你要创建的存储过程有很多不支持,典型的就是GOTO。。
还有''号,不知道ADOX行不行,刚看了HUBDOG大虾的书。试看看先。。
 
将go去掉也是一样不行啊,哪位大侠做过快帮帮我啊。
 
这个错误不是存储过程本身的错误,而是你传入的Sql语句本身有错罢
你将你的sqlstr的内容直接在sql中执行看看
 
我传入的语句不会有错的,在脚本分析器中可以运行的,
而且这些是用SQL的任务的导出脚本中导出的。所以完全可以运行的。
 
@sqlstr varchar(100)
只要长度小于8000就可以了
 
多人接受答案了。
 
顶部