Я успешно подключаюсь к базе данных Oracle 10g с драйвером Microsoft ODBC для Oracle.
Обычные запросы без параметров работают нормально, но параметризованные запросы действуют так, как будто параметры не передаются.
отл.
--this works fine
Select * from tbl1 where column1 = 'test'
--this doesn't
select * from tbl1 where column1 = ?
--odbc string parameter 'test'
Вот как выглядит моя строка подключения:
"Driver={Microsoft ODBC for Oracle}; " & _
"CONNECTSTRING=(DESCRIPTION=" & _
"(ADDRESS=(PROTOCOL=TCP)" & _
"(HOST=" & pstrServer & ")(PORT=" & pintPort.ToString & "))" & _
"(CONNECT_DATA=(SERVICE_NAME=" & pstrPhysicalName & "))); " & _
"uid=" & pstrUserName & ";pwd=" & pstrPassword & ";"
И я добавляю параметры к моей команде ODBC следующим образом:
arrOdbcParam(index) = New OdbcParameter("@paramName", paramValue)
...
cmd.Parameters.AddRange(arrOdbcParam)
Простите за частично скопированный, несколько псевдо-код.