2017-09-15 61 views
0

比如我有這樣的SQL腳本,我想從Java exectute它:有沒有辦法從java執行SQL腳本?

USE msdb ; 
GO 

EXEC dbo.sp_add_operator 
    @name = N'Dan Wilson', 
    @enabled = 1, 
    @email_address = N'danwi', 
    @pager_address = N'[email protected]', 
    @weekday_pager_start_time = 080000, 
    @weekday_pager_end_time = 170000, 
    @pager_days = 62 ; 
GO 
+0

[像這樣(https://stackoverflow.com/questions/2071682/how-to-execute-sql-script-file-in-java)或者是[使用JDBC ](https://stackoverflow.com/q/1044194/6167855) – scsimon

+7

[如何在java中執行sql-script文件?](https://stackoverflow.com/questions/2071682/how-to-execute -sql-script-file-in-java) – MatSnow

+0

請注意,'GO'不是T-SQL語句,而是批分隔符。工具和實用程序發送前一批語句時遇到了這些語句,但您需要自己從Java中執行此操作, –

回答

-1

什麼你要找的是Java數據庫連接(JDBC)。 Oracle在其網站上提供了一個教程。

https://docs.oracle.com/javase/tutorial/jdbc/basics/index.html

+0

也許我需要更多地解釋,當執行查詢時,我收到以下內容:com.microsoft.sqlserver.jdbc .SQLServerException:'GO'附近的語法不正確,我所做的是將所有腳本放在一個String中,然後調用方法executeQuery(String); – Renato

+0

OP有一個SQL Server標籤 – Simon

-1

嗯,我需要你使用的數據庫,就知道了。對於Oracle,你可以嘗試:

import java.sql.* ; 
String URL = "jdbc:sqlserver:thin:@amrood:1521:EMP"; 
String USER = "username"; 
String PASS = "password" 
Connection conn = DriverManager.getConnection(URL, USER, PASS) 
PreparedStatement pstmt = null; 
String SQL = "dbo.sp_add_operator @name = N'Dan Wilson', 
    @enabled = 1, 
    @email_address = N'danwi', 
    @pager_address = N'[email protected]', 
    @weekday_pager_start_time = 080000, 
    @weekday_pager_end_time = 170000, 
    @pager_days = 62 ; "; 
pstmt = conn.prepareStatement(SQL); 
stmt.executeUpdate(); or stmt.executeQuery(); 
+1

我想你可以看到SQL Server標籤,不是嗎? – Sami

+0

哦。我沒有注意到對不起。讓我編輯 – kranz

相關問題