У меня есть таблица, которую я пытаюсь вызвать обычным способом
sql <- 'SELECT TOP 10 *
FROM "_SYS_BIC"."data-path.self-service.DOIP/table_name"'
df <- dbGetQuery(jdbcConnection, sql)
и получите ошибку
Error in .verify.JDBC.result(r, "Unable to retrieve JDBC result set for ", :
Unable to retrieve JDBC result set for SELECT TOP 10 *
FROM "_SYS_BIC"."data-path.self-service.DOIP/table_name" (SAP DBTech JDBC: [2048]: column store error: search table error: [34023] Instantiation of calculation model failed;exception 306106: Undefined variable: $$IP_ExtractionWeekFrom$$. Variable is marked as required but not set in the query)
Я пытался вставить IP_ExtractionWeekFrom в оператор sql с предложением where без везения
param1 <- 201943
sql <- 'SELECT TOP 10 *
FROM "_SYS_BIC"."ccf-edw.self-service.DOIP/R_CA_B_DemandPlan" where
"$$IP_ExtractionWeek$$" = ?'
SpringVisit <- dbGetQuery(jdbcConnection, sql, param1)
Я пробовал термин, заключенный в «$$» и без него, и как с «$$», так и без него, заключенный в кавычки, а не в кавычки. Обычно я получаю сообщение об ошибке «недопустимое имя столбца».
Это должно вызываться с чем-то другим, кроме предложения where?
SELECT * FROM "ccf-edw.self-service.DOIP::Q_CA_B_DemandPlan" ( 'PLACEHOLDER' = ('$$IP_ExtractionWeekFrom$$', '201943'), 'PLACEHOLDER' = ('$$IP_ExtractionWeekTo$$', '201943') ) "ccf_edw_self_service_DOIP__Q_CA_B_DemandPlan" WHERE (1 <> 0)
- person jarichardson   schedule 29.10.2019param1 <- 201943 param2 <- 201943 sql <- 'SELECT TOP 10 * FROM "_SYS_BIC"."ccf-edw.self-service.DOIP/R_CA_B_DemandPlan" ( "PLACEHOLDER" = ("$$IP_ExtractionWeekFrom$$", ?), "PLACEHOLDER" = ("$$IP_ExtractionWeekTo$$", ?) ) "_SYS_BIC"."ccf-edw.self-service.DOIP/R_CA_B_DemandPlan" WHERE (1 <> 0)' SpringVisit <- dbGetQuery(jdbcConnection, sql, param1, param2) (SAP DBTech JDBC: [257]: sql syntax error: incorrect syntax near """: line 2 col 91 (at pos 107))
- person jarichardson   schedule 29.10.2019"PLACEHOLDER"
и"$$IP_ExtractionWeekTo$$"
? Двойные кавычки означают определенную вещь в SQL и не взаимозаменяемы с одинарными кавычками, как в R. Сохраните как есть и заключите весь SQL в двойные кавычки для переменной R, а затем избегайте любых двойных кавычек SQL с помощью обратной косой черты. - person Parfait   schedule 29.10.2019