私は Datenwerke ReportServer を使用しています。DJBC を介して Caché ソースを使用しようとしています。 これは、データベースの追加に関する彼らのブログ投稿です。残念ながら、私はそれを完全には理解していません。適切な場所に JDBC ファイルがあり、以下の Caché 用の groovy スクリプトを作成しました。この問題は、それが行う奇妙な Query Wrapper に関連しています。ReportServer UI を介してデータソースを正常にテストできますが、単純なクエリを実行しようとすると、次のエラーが発生します。
エラー
クエリを準備できませんでした: レポート クエリを実行するためのステートメントの準備中にエラーが発生しました: SELECT * FROM (SELECT * FROM (SELECT * FROM (SELECT TOP 10 * FROM HS_IHE_ATNA_Repository.Aggregation) wrapQry) limitQry LIMIT 50 OFFSET 0 /* トークン: 6aab148a-927b-45d5-9dfd -724788e139ca //現在 のユーザー: 3 */
cache.groovy
package databasehelper;
import net.datenwerke.rs.scripting.service.scripting.scriptservices.GlobalsWrapper;
import net.datenwerke.rs.base.service.dbhelper.DatabaseHelper
import net.datenwerke.rs.base.service.dbhelper.hooks.DatabaseHelperProviderHook
import net.datenwerke.rs.base.service.dbhelper.queries.Query
import net.datenwerke.rs.base.service.dbhelper.querybuilder.ColumnNamingService
import net.datenwerke.rs.base.service.dbhelper.querybuilder.QueryBuilder
class Cache extends DatabaseHelper {
public static final String DB_NAME = "Cache";
public static final String DB_DRIVER = "com.intersys.jdbc.CacheDriver";
public static final String DB_DESCRIPTOR = "DBHelper_Cache";
@Override
public String getDescriptor() {
return DB_DESCRIPTOR;
}
@Override
public String getDriver() {
return DB_DRIVER;
}
@Override
public String getName() {
return DB_NAME;
}
@Override
public String createDummyQuery() {
return 'SELECT * FROM HS_IHE_ATNA_Repository.Aggregation'
}
}
def HOOK_NAME = "DATASOURCE_HELPER_Cache"
def callback = [
provideDatabaseHelpers : {
return Collections.singletonList(new Cache());
}
] as DatabaseHelperProviderHook;
GLOBALS.services.callbackRegistry.attachHook(HOOK_NAME, DatabaseHelperProviderHook.class, callback)
特に、ここにこれを投稿する大穴のようです