Artikel mit dem Tag "GO"

Microsoft SQL Server: Problem mit dem GO-Schlüsselwort beim Verwenden des JDBC-Treibers

Arbeitet man mit dem Microsoft SQL Server, so wird man viel und oft das Schlüsselwort GO verwenden. Sollen Serverabfragen, die das GO-Schlüsselwort enthalten, mit JDBC ausgeführt werden, kommt es jedoch zu einer Ausnahme (Exception):

Falsche Syntax in der Nähe von ‚GO‘.

Anstatt alle SQL-Skripte, die das GO-Schlüsselwort enthalten, umzuschreiben, gibt es auch eine einfachere Möglichkeit in Java: Man zerlegt ein SQL-Skript einfach anhand des GO-Schlüsselworts und packt jedes Teilelement in ein eigenes JDBC-Statement.

Wir gehen von folgendem SQL-Skript aus:

USE [someDatabase]
GO

CREATE VIEW [someSchema].[someView] AS SELECT * FROM [someSchema].[someTable]
GO

CREATE TABLE [someSchema].[someTable] (
	someField VARCHAR(50) NULL
)
GO

Dann lassen sich alle Teile wie folgt ausführen:

Connection con; // Eine aktive Verbindung zu einem SQL-Server via JDBC 
String sql; // Oben genanntes SQL-Skript

for(String batch: sql.split("GO")){
	con.createStatement(batch.trim()).execute();
}
Share
Geschrieben von Philip Ehret am 09.02.2011 | Kommentare weiterlesen...