sqlserver 怎样直接执行sql文件

 我来答
coco22
高粉答主

2018-04-17 · 说的都是干货,快来关注
知道大有可为答主
回答量:254
采纳率:100%
帮助的人:4.1万
展开全部

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

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

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

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

五、Java代码:

  1. public class AntExecSql

  2. {public static void execSqlFile(String url, String userID, String pwd,   String sqlFile)

  3. {  

  4. SQLExec2 sqlExec = new SQLExec2();  

  5. // 设置数据库参数

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

  7. sqlExec.setUrl(url);  

  8. sqlExec.setUserid(userID);  

  9. sqlExec.setPassword(pwd);  

  10. File file = new File(sqlFile);  

  11. sqlExec.setSrc(file);  

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

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

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

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

  16. sqlExec.execute();

  17. }  

  18. public static void main(String[] args) {  

  19. String file1 = "C:/1.sql";

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

  21. String username = "sa";  

  22. String pwd = "sa@jiaj";  

  23. try {  

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

  25. } catch (Exception ex) {  

  26. ex.printStackTrace();  

  27. }  

  28. }  

  29. }  

金刚钻Johnny
2015-07-05 · TA获得超过356个赞
知道小有建树答主
回答量:314
采纳率:100%
帮助的人:56.9万
展开全部
SQL Server Management Studio 连接数据库 ,菜单 文件 打开 文件 *.sql ,工具栏点执行
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式