2017-09-15 1 views
0

Zum Beispiel habe ich diese SQL-Skript und ich möchte es exectute von java:Gibt es eine Möglichkeit, SQL-Skript von Java auszuführen?

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

[Wie so] (https://stackoverflow.com/questions/2071682/how-to-execute-sql-script-file-in-java) oder vielleicht [über JDBC ] (https://stackoverflow.com/q/1044194/6167855) – scsimon

+7

Mögliche Duplikate von [Wie sql-Skriptdatei in Java ausführen?] (https://stackoverflow.com/questions/2071682/how-to-execute -sql-script-file-in-java) – MatSnow

+0

Beachten Sie, dass 'GO' keine T-SQL-Anweisung ist, sondern ein Stapeltrennzeichen. Tools und Dienstprogramme senden den vorhergehenden Stapel von Anweisungen, wenn diese gefunden werden, aber Sie müssen dies selbst von Java aus tun. –

Antwort

-1

Was Sie suchen ist Java Database Connectivity (JDBC). Oracle bietet ein Tutorial auf ihrer Website.

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

+0

Vielleicht muss ich mehr erklären, wenn ich die Abfrage ausführen, erhalte ich Folgendes: com.microsoft.sqlserver.jdbc .SQLServerException: Inkorrekte Syntax in der Nähe von 'GO', was ich mache ist das ganze Skript in einen String zu setzen, dann rufe die Methode executeQuery (String) auf; – Renato

+0

OP hat eine SQL-Server-Tag – Simon

-1

Nun muss ich wissen, welche Datenbank verwenden Sie. Für Oracle können Sie versuchen:

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

Ich denke, Sie können SQL Server-Tag sehen, nicht? – Sami

+0

Ohh. Ich habe es nicht bemerkt. Lass mich bearbeiten – kranz

Verwandte Themen