百分求: 如何在存储过程中执行一个*.sql的文件? exec master..xp_cmdshell 'isql -U sa -P 123 -i c:\脚本.sql' 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 -U sa 是SQL的用户名-P 123是SQL的密码 昨天我试过这个当时不行,现在这个确实好用,可能因为path:的问题,但是我也无法保证用户的机器path已经设置正确,估计也可能跟其它环境变量有关.是否有直接调用sqlserver本身的啥机制去执行这句.isql肯定也是把文件确出来,然后执行....它自己怎么实现这个有没有一个更直接的调用方法 leo_lesley(leo) 往哪里传? 还是 cmdshell>? SET QUOTED_IDENTIFIER OFF declare @ls_path varchar(100)set @ls_path = 'c:\test.sql'exec("master..xp_cmdshell 'isql -U sa -P -i "+@ls_path+"'") 还是同一个办法? 不能截获isql实际是调用了什么? 难道isqlw 是调用isql去完成任务? 大家注意了,麻烦出现了.昨天我用数据库生成的建立函数的语法存放在一个文件下,结果用isql调用竟然出错,不能执行,但是这些语法可以在查询分析器下运行.报错的内容大致如下//报错内容1> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> Msg 170, Level 15, State 1, Server XUZB, Line 1第 1 行: '' 附近有语法错误。null//结束终止的位置总存在注释语句,后来我把所有的注释语句都删除了,就在最后一行报同样的错误.这个是isql本来的啥机制造成的吧?我想是,但是怎么去执行那个文件是我的初衷,并不是怎么一定要用cmdshell+isql去执行这个. 难不成我再试试osql?我没有使用这些东西的经验,请大侠们指教. 我发现了,一种方式是保存成 unicode的sql文件,另一种是普通的文本文件,后者可以执行,前者就失败.....这个我自己处理吧 不知道有没有人讨论一下iqsl 可能出现的其它问题 谢谢 存储过程不知道出错在哪? SQL分类汇总问题 求助 关于Varchar字段不能超过8000的问题! 字符组合和排列 SELECT 1/3要得到0.33結果應該用什麼函數怎麼做 ado速度问题 提问,如何递归触发delete触发器 ADO枚举数据表 疑难问题:从表中随即取出n条记录,条件是sum(金额)占总金额的30% 请问高手 视图在何时有数据 合并表内容
-P 123是SQL的密码
但是我也无法保证用户的机器path已经设置正确,估计也可能跟其它
环境变量有关.
是否有直接调用sqlserver本身的啥机制去执行这句.
isql肯定也是把文件确出来,然后执行....它自己怎么实现
这个有没有一个更直接的调用方法
declare @ls_path varchar(100)
set @ls_path = 'c:\test.sql'
exec("master..xp_cmdshell 'isql -U sa -P -i "+@ls_path+"'")
昨天我用数据库生成的建立函数的语法存放在一个文件下,
结果用isql调用竟然出错,不能执行,但是这些语法可以在
查询分析器下运行.
报错的内容大致如下
//报错内容
1> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> Msg 170, Level 15, State 1, Server XUZB, Line 1
第 1 行: '' 附近有语法错误。
null
//结束终止的位置总存在注释语句,后来我把所有的注释语句都删除了,
就在最后一行报同样的错误.这个是isql本来的啥机制造成的吧?
我想是,但是怎么去执行那个文件是我的初衷,并不是怎么一定要
用cmdshell+isql去执行这个. 难不成我再试试osql?我没有使用这些东西的经验,请大侠们指教.
后者可以执行,前者就失败.....
这个我自己处理吧
不知道有没有人讨论一下iqsl 可能出现的其它问题 谢谢