程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> 關於vs2008使用oracleclient鏈接oracle數據庫報報錯OCIEnvCreate失敗,返回代碼為-1,但錯誤消息文本不可用

關於vs2008使用oracleclient鏈接oracle數據庫報報錯OCIEnvCreate失敗,返回代碼為-1,但錯誤消息文本不可用

編輯:Oracle教程

關於vs2008使用oracleclient鏈接oracle數據庫報報錯OCIEnvCreate失敗,返回代碼為-1,但錯誤消息文本不可用


用vs2008鏈接oracle數據庫出現問題,報錯OCIEnvCreate 失敗,返回代碼為 -1,但錯誤消息文本不可用,從網上找了好久方法,有兩種oracle客戶端文件權限,和運行vs2008以管理員身份,這些都試過了沒有用,查了好久還是沒有解決問題,只好換一種方式鏈接oracle數據了。

我使用的是ODAC方式鏈接oracle數據庫,這樣就不需要安裝oracle客戶端了,我的操作步驟如下:
1.從[url=http://download.oracle.com/otn/other/ole-oo4o/ODTwithODAC1110621.zip?AuthParam=1427792567_926a5eb7e7f7456724673afbdb80c825][/url]下載安裝ODAC安裝文件,因為我需要安裝文件下面的幾個DLL,下載下來的文件為ODTwithODAC1110621.zip 壓縮文件。

2.我們解壓之後裡面有安裝setup.exe.點擊執行,之後彈出一個dos界面,等待幾十秒之後彈出安裝界面。按提示點擊下一步完成安裝。到90%的時候安裝會比較慢。

3.安裝完之後我們在安裝路徑下(我的是E:\app\Administrator)可以找到oci.dll,ociw32.dll,orannzentr11,orannzmcs11,orannzsbb11,oraocci11,oraociei11,orasql11.dll,orasqlplusic11,sqora32,sqresja,就這麼多DLL,最關鍵的一個DLL是在(我的是E:\app\Administrator\odp.net\bin)路徑下裡面有兩個文件夾,你對應自己的.Net Framework 選擇Oracle.DataAccess.dll。

4.將上面提到的DLL拷貝到DeBug的路徑下面,我的asp.net程序,我拷貝到了bin目錄下面

5.重新生成解決方案,寫段使用Oracle.DataAccess.Client方式鏈接Oracle的方式試一下,是否可以鏈接成功。

6.我提供下我的例子

測試例子

public void connByOracleClient()
    {
        string connString = @"user id=XXXXpassword=XXXX;Data Source=(DESCRIPTION ="
    + "(ADDRESS = (PROTOCOL = TCP)(HOST = XX.xx.xx.xx)(PORT = 1521))"
   + " (CONNECT_DATA ="
     + " (SERVER = DEDICATED)"
     + " (SERVICE_NAME = xx)"
    + "))";
        OracleConnection conn = new OracleConnection(connString);
        conn.Open();
        string sql = "select * from xx";

        OracleCommand comm = new OracleCommand(sql, conn);
        OracleDataReader rdr = comm.ExecuteReader();
        while (rdr.Read())
        {
            string s = rdr.GetString(5);
        }
運行成功沒有任何錯誤和異常。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved