Я не могу выполнить SQL-запрос с с предложением через ADODB и Oracle.
То есть работает следующий фрагмент:
Dim cn As ADODB.connection
Set cn = ....
Dim rs As ADODB.recordSet
Set rs = New ADODB.Recordset
rs.Open "select 'foo' x from dual", cn
Do While Not rs.eof
...
rs.MoveNext
Loop
Однако следующее не работает - оно генерирует Ошибка времени выполнения 3704: Операция не разрешена, когда объект закрыт.
Dim cn As ADODB.connection
Set cn = ....
Dim rs As ADODB.recordSet
Set rs = New ADODB.Recordset
rs.Open "with w as (select 'foo' x from dual) select x from w", cn
Do While Not rs.eof
...
rs.MoveNext
Loop
Очевидно, это урезанная демонстрация реальной проблемы, которая состоит
более сложного запроса.
Мне кажется, что ADODB анализирует запрос перед тем, как передать его в экземпляр Oracle, и не понимает с предложением . Во всяком случае, любая помощь по этому вопросу очень
оценили.