Ошибки при попытке ссылки на дату в запросе при использовании Power Query для подключения к Oracle - PullRequest
0 голосов
/ 25 февраля 2020

Проблема возникла, когда я пытаюсь использовать значение даты (в ячейке в Excel) в запросе, соединяющемся с Oracle.

Мой намеренный запрос выглядит следующим образом (в расширенном редакторе):

Source = Oracle.Database("DB", [HierarchicalNavigation=true, Query="select *  
#(lf)from table 
#(lf)where SNAPSHOT_DT = TO_DATE('2020-02-20', 'YYYY-MM-DD')", 
CreateNavigationProperties=false]),

Теперь этот код будет работать.

Теперь я хочу иметь возможность изменять свой SNAPSHOT_DT в ячейке, а не переходить к запросу и изменению, поэтому я создал ячейку с именем Snapshot_date и это как значение '2020-02-20' как строка

Я добавил строку в расширенном редакторе:

SDate= Excel.CurrentWorkbook(){[Name="Snapshot_date"]}[Content]{0}[Column1],

Теперь SDate имеет строковое значение как 2020-02-20 enter image description here

Но, когда я пытаюсь использовать SDate в запросе следующим образом:

Source = Oracle.Database("DB", [HierarchicalNavigation=true, Query="select *  
#(lf)from table 
#(lf)where SNAPSHOT_DT = TO_DATE('SDATE', 'YYYY-MM-DD')", 
CreateNavigationProperties=false]),

Система выдаст ошибку:

DataSource .Error: Oracle: ORA-01841: (полный) год должен быть между -4713 и +9999, а не 0

Если я уберу знак '' вокруг SDate:

Source = Oracle.Database("DB", [HierarchicalNavigation=true, Query="select *  
#(lf)from table 
#(lf)where SNAPSHOT_DT = TO_DATE(SDATE, 'YYYY-MM-DD')", 
CreateNavigationProperties=false]),

Ошибка будет отображаться как:

DataSource.Error: Oracle: ORA-00904: «SDATE»: неверный идентификатор.

Как я могу исправить проблему?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...