我做了一个动态建表的程序,现在我不知道在DELPHI里怎么去调用执行那段SQL语句。请高手指教!文件是.SQL文件(20分)

  • 主题发起人 主题发起人 Yangzh
  • 开始时间 开始时间
Y

Yangzh

Unregistered / Unconfirmed
GUEST, unregistred user!
我做了一个动态建表的程序,现在我不知道在DELPHI里怎么去调用执行那段SQL语句。请高手指教!文件是.SQL文件
 
使用ado控件,在adoquery的sql属性里添加语句,然后adoquery.execsql执行就可以
 
with ADOQuery1 do
begin
SQL.LoadFromFile('MySQL.sql'); //利用ADOQuery的SQL属性来读取文件中的SQL文本
Open; //如果SQL语句不是Select的话,用ExecSQL即可
//...
Close;
end;
 
是SQL SERVER 自动生成的SQL脚本文件,不能执行.有什么好的方法.
 
可以写成存储过程!然后用ADOstroProcedur调用存储过程就可以了
 
SQLStr := 'EXECUTE master.dbo.xp_cmdshell "osql -U Yangzh -P 13673190800 -S '
+ ComboBox1.Text + ' -d BxczCwInfo -i ' + ExtractFilePath(Application.ExeName)
+ 'DataBase/AccountSysSet.dll"';


TmpQuery.SQL.Clear;
TmpQuery.SQL.Add(SQLStr);
TmpQuery.ExecSQL;

在本机上运行成功,作为客户端向服务器创建就失败了。
ExtractFilePath(Application.ExeName)
+ 'DataBase/AccountSysSet.dll
是不是这个文件路径在服务器上查找,不在客户端上查找。
 
可能你的操作权限不够
 
是啊,应该刘权限没有设置的可能性比较大吧
 
是路径的原因,SQL SERVER始终只在本机上查找文件,不会到远程
就像backup database xxx to disk='C:/DDD.BAK' 无法在远程将数据备份到本地一样
 
后退
顶部