ます。com.microsoft.sqlserver.jdbc.SQLServerExceptionを言うエラーメッセージを取得しています:付近に正しくない構文 'SYS'。
これは、入力したSQLクエリが間違っているか、構文が不足していることがよくあります。そして私は、私が使用しています。このSQLクエリが正しいことを非常に確信しています:
public static Vector<Vector<String>> getKeys() throws SQLException {
Vector<Vector<String>> vs = new Vector<Vector<String>>();
Connection con = Dal2.getConnection();
Statement stm = con.createStatement();
ResultSet rSet;
String sqlString = "SELECT OBJECT_NAME(OBJECT_ID) AS NameofConstraint,"
+"SCHEMA_NAME(schema_id) AS SchemaName,"
+ "OBJECT_NAME(parent_object_id) AS TableName,"
+"type_desc AS ConstraintType"
+"FROM sys.objects"
+"WHERE type_desc IN ('FOREIGN_KEY_CONSTRAINT','PRIMARY_KEY_CONSTRAINT')";
try{
rSet = stm.executeQuery(sqlString);
while(rSet.next()){
Vector<String> v = new Vector<String>();
for(int i=1; i <= v.size(); i++){
System.out.println(rSet.getString(i) + "\n");
// v.add(rSet.getString(i));
}
}
}
catch(Exception e){
e.printStackTrace();
}
return vs;
あなたは私がメソッドを使用していたときにJavaコンソールに結果がセットSQLをプリントアウトしたい見ることができるように。しかし、私は構文エラーを取得し続けます。私は、SQL ServerでSQLクエリを試してみたし、それが正常に動作します:
SELECT OBJECT_NAME(OBJECT_ID) AS NameofConstraint,
SCHEMA_NAME(schema_id) AS SchemaName,
OBJECT_NAME(parent_object_id) AS TableName,
type_desc AS ConstraintType
FROM sys.objects
WHERE type_desc IN ('FOREIGN_KEY_CONSTRAINT','PRIMARY_KEY_CONSTRAINT')
「FROM」と「WHERE」の前にスペースを挿入してください。 – saka1029
また、 'Vector'を使わないでください。 – chrylis