.net 訪問Oracle的連接字串

來源:互聯網
上載者:User
 

方法一:通過System.Data.OracleClient(需要安裝Oracle用戶端並配置tnsnames.ora) 這個大家都知道,就不細說了

oracleConnectionString : data source = orcl;user id= scott; password=tiger;persist security info=false;

 

方法二,是利用OldeDb 來串連

oracleConnectionString :

    Provider=OraOLEDB.Oracle.1;User ID=scott;Password=tiger;Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.125.250)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))

貌似MSDN上OledbCommandType 沒有可以對應Oracle 的  ref Cursor ,所以就拋棄了他,

 

方法三:需要oracle用戶端,但是不需要配置tnsnames.ora

連接字串 oracleConnectionString

User ID=scott;Password=tiger;Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=10.10.125.250)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))

但是按照網上的Demo來做,經常提示:

未處理的“System.ArgumentException”類型的異常出現在 system.data.oracleclient.dll 中。

其他資訊: Invalid length for connection option 'data source', maximum length is 128.

難道是代碼給錯了?

 

經過計算oracleConnectionString 他的長度是在180以上 ?

我就把其中一些的空格給去了,一個一個試,想法果然夠BT

竟然沒有Exception,不會是長度的限制吧,我就再一個一個把空格加上,結果貌似長度不超過 177 ,就可以串連上去? 難道真的這麼BT

 

            string strconn ="User ID=scott;Password=tiger;Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=10.10.125.250)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))";
            MessageBox.Show(strconn.Length.ToString());
            System.Data.OracleClient.OracleConnection oraConn  =new System.Data.OracleClient.OracleConnection(strconn);
        
            try
            {
                oraConn.Open();
                MessageBox.Show(oraConn.State.ToString()); //177
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message );
            }
            finally
            {
                 oraConn.Close();    
            }

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.