java.sql.SQLException: ORA-00933: SQL-Befehl nicht korrekt beendet
Was ich erreichen will, ist in der Lage sein, SQL-Anweisungen schreiben, und überprüfen Sie die Ergebnisse.
Die SQL-Anweisungen würde die Variablen haben in Ihnen, wie :
String sql = "Select zoneid from zone where zonename = myZoneName";
Wo myZoneName erzeugt wird von count +
Hinweis: ich benutze Apache POI zu analysieren Excel-Tabelle.
hier ist der code:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
import org.apache.log4j.Logger;
import org.junit.Test;
public class VerifyDBSingleDomain {
static Logger log = Logger.getLogger(VerifyDBSingleDomain.class.getName());
String url = "jdbc:oracle:thin:@a.b.c.d:1521:mname";
@Test
public void VerifyDBSingleDomainTest() throws SQLException {
Properties props = new Properties();
props.setProperty("user", "user");
props.setProperty("password", "password");
String sql = "Select zoneid from zone where zonename = 99224356787.tv";
//String sql = "Select * from zone";
Connection conn;
//try {
conn = DriverManager.getConnection(url, props);
PreparedStatement preStatement = conn.prepareStatement(sql);
ResultSet result = preStatement.executeQuery();
System.out.println(result);
/*while (result.next()) {
System.out.println(result.toString());
}
} catch (SQLException e) {
e.printStackTrace();
}*/
// }
//}
}
}
und ich bekomme Fehler:
java.sql.SQLException: ORA-00933: SQL command not properly ended
Nicht sicher, aber sieht aus wie Sie haben, um Ihr Angebot Vergleich
nicht sicher, wie Sie Sie sehen " für die zone Namen, habe ich es entfernt, als es war ein Tippfehler in der Frage vielleicht.
Ich meinte 99224356787.tv ist nicht umgeben von einfachen Anführungszeichen im code, da SQL-Vergleiche auf varchars in der Regel sind von der form
habe es, es funktioniert, vielen Dank
String sql = "Select zoneid from zone where zonename = '99224356787.tv'";
nicht sicher, wie Sie Sie sehen " für die zone Namen, habe ich es entfernt, als es war ein Tippfehler in der Frage vielleicht.
Ich meinte 99224356787.tv ist nicht umgeben von einfachen Anführungszeichen im code, da SQL-Vergleiche auf varchars in der Regel sind von der form
WHERE field = 'myValue'
habe es, es funktioniert, vielen Dank
InformationsquelleAutor kamal | 2012-09-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie verwenden Sie einfache Anführungszeichen in Ihre
WHERE
Klausel vorausgesetztmyZoneName
ist ein text-Typ:Verwenden Sie die folgenden Optionen für die Anzeige der
zoneid
vorausgesetzt, es ist ein INTEGER-Typ:Sie müssen zur Verwendung des resultset. Siehe update.
InformationsquelleAutor Reimeus
wenn myZoneName ist vom Datentyp Varchar, müssen Sie wickeln Sie es um Aussagen wie diese
Bekommen der Inhalt der Tabelle:
finden Java-resultSet-API für mehr Informationen 🙂
InformationsquelleAutor PermGenError