У меня проблема, возможно, не имеет ничего общего с SSIS, но я хотел быть внимательным.Я пытаюсь получить практически одинаковый код (используя ODBC) для доступа к SQL Server, Sybase и Oracle.Все, кроме Oracle, работает (не удивительно), но я не знаю, как решить эту проблему.
Драйвер Oracle - версия 11.01.00.06.Я могу успешно подключиться к экземпляру, но вызов (к функции) не удается.Я предполагаю, что ошибка связана с тем фактом, что курсор является параметром в этом случае (не верно для SQL Server и Sybase), и я не учитываю это.Хотя для курсора OdbcType не существует.
Буду признателен за любую помощь или предложения.
Я получаю сообщение об ошибке:01008: привязаны не все переменные
Код вызова (C #)
NetworkProviderCon = new OdbcConnection(strCon);
NetworkProviderCon.Open();
NetworkProviderCmd.Connection = NetworkProviderCon;
NetworkProviderCmd.CommandType = CommandType.StoredProcedure;
NetworkProviderCmd.CommandText = "{CALL SP_NETWORK_IDL(?,?)}";
NetworkProviderCmd.CommandTimeout = this.Variables.CADATABASECORETIMEOUT;
//parameters to call SP
NetworkProviderParam1 = NetworkProviderCmd.Parameters.Add("@pdtStartTime", OdbcType.DateTime);
NetworkProviderParam1.Value = strStartDate;
NetworkProviderParam2 = NetworkProviderCmd.Parameters.Add("@pdtEndTime", OdbcType.DateTime);
NetworkProviderParam2.Value = strEndDate;
sqlDr = NetworkProviderCmd.ExecuteReader();
Параметры процедуры
CREATE OR REPLACE function XXXX.SP_NETWORK_IDL
(
/*************************************************
** Declare Parameters **
*************************************************/
pRESULT_CURSOR IN OUT CURSOR_PACKAGE.RESULT_CURSOR ,
pdtStartTime IN CMC_NWPR_RELATION.NWPR_TERM_DT%TYPE := NULL,
pdtEndTime IN CMC_NWPR_RELATION.NWPR_EFF_DT%TYPE := NULL
)
return number