Не удается подключиться к базе данных (ошибка OCIenVCreate) - PullRequest
0 голосов
/ 08 января 2010

Я использую базу данных Oracle (10g), которая содержит хранимую процедуру под названием Foo.

Foo принимает 2 datetime в качестве параметров IN и 1 курсор в качестве параметра OUT.Я пытался установить соединение и запрос к базе данных с помощью OleDbCommand, но поскольку Foo нужен курсор, у меня нет другого выбора, кроме как использовать OracleCommand (верно?).

Когда я пытаюсь подключитьсяв базу данных я получаю следующую ошибку: «OCIenvCreate не удалось вернуть код возврата -1».Я дал правильные разрешения пользователю ASPNET для файла oci.dll, чтобы он мог читать и выполнять его.К сожалению, я все еще получаю ту же ошибку, и я потерян.

Вот причина ошибки

        OracleConnectionStringBuilder conBuilder = new OracleConnectionStringBuilder();
        conBuilder.DataSource = dataSrc;
        conBuilder.UserID = user;
        conBuilder.Password = password;

        OracleConnection con = new OracleConnection(conBuilder.ConnectionString);

        OracleCommand cmd = new OracleCommand("foo", con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.Add("this_is_a_cursor", OracleType.Cursor).Direction = ParameterDirection.Output;

        con.Open(); // Cause the error at runtime
        OracleDataReader reader = cmd.ExecuteReader();
        GridView1.DataSource = reader;
        GridView1.DataBind();
        con.Close();

Я заметил, что у некоторых других людей такая же проблема.

Я запускаю приложение из Windows Server 2003 Entreprise Edition (надеюсь, это поможет).

Спасибо.

1 Ответ

0 голосов
/ 11 января 2010

Я не совсем уверен, в чем именно проблема, но мне удалось подключиться к моей базе данных с другим провайдером в строке подключения.

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