Когда я получаю данные с набором записей из соединения, я не могу управлять языком даты. Это, как я получить данные:Измените язык для ADODB.Recordset или ADODB.Connection
Set rsData = New ADODB.Recordset
Set rsData = conODBC.Execute(sql)
SQL-оператор имеет строку ниже:
TO_CHAR(TO_DATE(TO_CHAR(DB_MONTH), 'MM'),'MON')||DB_YEAR AS DATE_STR
он преобразует DB_MONTH и DB_YEAR к чему-то вроде DEC16 и работает прекрасно с SQL Developer.
Однако, если это происходит как поле Recordset с VBA, дата преобразуется в немецкий (я работаю с немецким Excel), и я получаю DEZ16.
Это становится проблемой, когда я выгружаю данные в лист и продолжаю работать с ним, так как я не могу контролировать, как возвращается моя строка данных.
Это решило проблему. Я не использовал объект Command, но выполнил команду conODBC.Execute («ALTER SESSION SET NLS_DATE_LANGUAGE =« AMERICAN ») и впоследствии закрыл соединение. После открытия настройки были установлены. –