當前位置:首頁 » 編程語言 » 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幫助文檔,也沒說清楚這個函數應該怎麼用

熱點內容
升級android6 發布:2025-01-25 07:17:59 瀏覽:779
多人直播源碼 發布:2025-01-25 07:16:38 瀏覽:466
機房伺服器如何安裝系統 發布:2025-01-25 07:03:02 瀏覽:937
linux命令for循環 發布:2025-01-25 06:58:07 瀏覽:268
c語言鏈表的排序 發布:2025-01-25 06:48:17 瀏覽:887
查看存儲空間的命令 發布:2025-01-25 06:40:06 瀏覽:610
安卓系統如何保活 發布:2025-01-25 06:36:27 瀏覽:779
緩存不退出 發布:2025-01-25 06:35:02 瀏覽:265
protel編譯 發布:2025-01-25 06:35:00 瀏覽:203
bt我的世界伺服器 發布:2025-01-25 06:33:35 瀏覽:392