2017-09-15 34 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 Database Connectivity(JDBC)です。 Oracleは自社のWebサイトでチュートリアルを提供しています。

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

Ohh。ごめんなさい。私を編集させてください – kranz

関連する問題