コアJavaコードでsybaseデータベースを扱っています。org.eobjects.metamodel.DataContext
クエリを解析するために使用しています。
String sCol[]=table.getColumnNames();
Query query=dataContext.query().from(table.getName()).select(sCol).toQuery();
return new QueryIterator(dataContext.executeQuery(query).iterator());
しかし、それはクエリを実行しています。クエリを解析して実行するために、同じコードが Oracle データベースで正常に動作します。
生成されたクエリの例の一部は次のとおりです。
- ownername.City から City.CityName を選択します。
- 都市から City.CityName を選択
- ownername.City から CityName を選択します
- City から CityName を選択
- ownername.City から ownername.City.CityName を選択します
- SELECT "City"."CityName" FROM ownername."City"
- select * from ownername.City
上記のクエリは実行されませんでした。次のエラーが発生しています。
- FROM トークンを解析できません: "ownername"."City"
- クエリを実行できませんでした: 列のプレフィックス '"City"' が、クエリで使用されているテーブル名またはエイリアス名と一致しません。テーブルが FROM 句で指定されていないか、代わりに使用する必要がある相関名があります。
- SELECT トークンを解析できません: ownername.City.CityName
SYBASE データベースでメタモデルを使用してクエリを実行するにはどうすればよいですか、または SYBASE クエリを実行する他の方法はありますか?