当前位置:首页 » 编程语言 » sqlserverexecute

sqlserverexecute

发布时间: 2022-07-26 22:09:42

‘壹’ “sqlserver”怎样直接执行sql文件

一、客户的数据库数据被篡改,利用Log Explorer工具根据日志生成的回滚脚本有200多M,不可能一下子扔到查询分析器里去执行,于是想是否SQL Server是否可以像Oracle那样直接执行.sql文件。讲过查资料,测试,发现可以在cmd窗口中执行如下命令执行Sql文件:

二、osql -S 127.0.0.1 -U sa -P sa -i d: est.sql;

三、简单说明:osql为SQL Server的命令,要在cmd中执行该命令,一般安装完SQL Server后该命令对应的路径会自动添加到系统环境变量中。 -S 表示要连接的数据库服务器 -U表示登录的用户ID,-P表示登录密码 -i表示要执行的脚本文件路径。

四、Apache ant提供了直接执行sql脚本文件的功能:

五、Java代码:

  1. publicclassAntExecSql

  2. {publicstaticvoidexecSqlFile(Stringurl,StringuserID,Stringpwd,StringsqlFile)

  3. {

  4. SQLExec2sqlExec=newSQLExec2();

  5. //设置数据库参数

  6. sqlExec.setDriver("com.microsoft.sqlserver.jdbc.SQLServerDriver");

  7. sqlExec.setUrl(url);

  8. sqlExec.setUserid(userID);

  9. sqlExec.setPassword(pwd);

  10. Filefile=newFile(sqlFile);

  11. sqlExec.setSrc(file);

  12. sqlExec.setPrint(true);//设置是否输出

  13. //输出到文件sql.out中;不设置该属性,默认输出到控制台

  14. //sqlExec.setOutput(newFile("d:/script/sql.out"));

  15. sqlExec.setProject(newProject());//要指定这个属性,不然会出错

  16. sqlExec.execute();

  17. }

  18. publicstaticvoidmain(String[]args){

  19. Stringfile1="C:/1.sql";

  20. Stringurl="jdbc:sqlserver://localhost:1433;database=master";

  21. Stringusername="sa";

  22. Stringpwd="sa@jiaj";

  23. try{

  24. AntExecSql.execSqlFile(url,username,pwd,file1);

  25. }catch(Exceptionex){

  26. ex.printStackTrace();

  27. }

  28. }

  29. }

‘贰’ 问一个sqlserver的问题

问题很可能出在sql里面,你需要把组出的sql字符串检查一下,看里面有没有没有过滤掉的非法字符,如:输入的字符串中含有单引号等等。

‘叁’ SQLSERVER EXEC参数的问题

其实就是对同名称的存储过程加一个区分,但是又可以使用同一个名称来删除。

形象的说就是一个存储过程有两个版本。

‘肆’ 简单MS SQLSERVER 2000中用户自定义函数中的Execute问题!

wen_huang(黄志文)。非常感谢你。我仔细阅读了SQL
Server的帮助文档,在Function中使用Exec只可以执行扩展存储过程,所以我的方法行不通。你的方法非常好,谢谢。
另外,请你在下面两张贴子上答复一下,让得分有主。:-)
http://www.csdn.net/expert/topic/343/343383.shtm
http://www.csdn.net/expert/topic/343/343382.shtm

‘伍’ SQLServer动态exec查询语句,返回查询变量

drop procere tempPro;
go

create procere tempPro
as
declare
@sql nvarchar(200),
@user nvarchar(500),
@tablename nvarchar(100)
begin
set @tablename='t_stars'
set @sql=N'select @userOUT = stars_name from '+@tablename+' where stars_id=''hk1006''';
execute sp_executesql @sql, N'@userOUT varchar(30) output', @userOUT=@user output;
print @user;
end
go

exec tempPro;

‘陆’ sqlserver 中 sp_execute 求助

从你的语句来看,你应该是想用扩展存储过程的执行方法执行你的拼接语句

你应该用:sp_executesql,而不是:sp_execute,你可以搜索一些这两个语句的区别。

我在sql帮助文档中搜索了一下sp_execute,它必须要输入一个int的handle值,提示和你的报错很像。

说实话,我没用过sp_execute,而且这个sql帮助文档,也没说清楚这个函数应该怎么用

热点内容
密码锁如何密码解锁 发布:2025-01-25 04:25:16 浏览:385
ebay如何上传产品 发布:2025-01-25 04:04:37 浏览:823
java判断是否手机访问权限 发布:2025-01-25 04:02:28 浏览:807
天龙八部3困难福地需要什么配置 发布:2025-01-25 04:01:49 浏览:409
phpmysql网站源码 发布:2025-01-25 03:56:49 浏览:755
安卓手机华为手机哪个牌子好 发布:2025-01-25 03:55:55 浏览:25
比亚迪发动机压缩比 发布:2025-01-25 03:55:16 浏览:329
全民小视频脚本 发布:2025-01-25 03:54:28 浏览:926
鹦鹉linux 发布:2025-01-25 03:44:02 浏览:197
python如何抛出异常 发布:2025-01-25 03:40:27 浏览:985