久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

C#利用System.Data.OracleClient實現(xiàn)不安裝Oracle客戶端訪問遠程服務器數(shù)...

 百曉生nyj 2020-04-03

在未安裝Oracle數(shù)據(jù)庫客戶端的前提下,,C#通過使用ADO的方式遠程訪問服務器,會出現(xiàn):“System.Data.OracleClient 需要 Oracle 客戶端軟件 8.1.7 或更高版本”問題,,本文提供一種方式解決該問題,。
具體步驟步驟如下:
 第一步:下載Instant Client 文件
Oracle官方網(wǎng)站提供了Instant Client文件的下載,下載地址為:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html,,里面提供了支持不同操作系統(tǒng)和不同Oracle版本的對應下載,,根據(jù)不同需求自己選擇。

我的系統(tǒng)環(huán)境如下:

數(shù)據(jù)庫服務器:WindowsServer2008x64

數(shù)據(jù)庫服務端:oracle11.2.0.1.0

客戶端系統(tǒng):Windows7x64

因此我選擇下載了instantclient-basic-win-x86-64-11.2.0.1.0.zip

只需在客戶端將其解壓即可(位置任意),,我解壓在d盤根目錄,生成一個文件夾d:\instantclient_11_2(然后將其修改成oracleclient,,根據(jù)自己需要修改),,里面就是連接遠程數(shù)據(jù)庫要用到的dll文件。
    
第二步:配置環(huán)境變量

    1,、 在PATH變量中增加【;D:\oracleclient】,,即就是剛才我們解壓Instant Client所在的目錄;

    2,、增加以下三個變量:
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
TNS_ADMIN= D:\oracleclient
LD_LIBRARY_PATH= D:\oracleclient

第三步:配置tnsnames.ora文件
 D:\oracleclient目錄中增加一個tnsnames.ora文件,,內(nèi)容為訪問數(shù)據(jù)庫的配置信息。具體步驟為:新建一個txt文檔,,然后將一下內(nèi)容復制進去,,另存為tnsnames.ora即可。
ORCL=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS =
        (PROTOCOL = TCP)
        (HOST = 192.168.1.107)
        (PORT = 1521)
      )
    )
    (CONNECT_DATA =
      (SERVICE_NAME = lottery) 
    )
  )
其中的HOST,、PORT,、SERVICE_NAME需要根據(jù)數(shù)據(jù)庫實際信息進行修改。
此時在C#代碼中的連接字符串可以按如下方式定義:

String conn =@'DataSource=ORCL;Persist Security Info=True;User Id=用戶名;Password=密碼';



否則,,如果想省略第三步,,在C#代碼中的連接字符串必須按如下方式定義:           

String conn =String.Format('Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS= (PROTOCOL = TCP)(HOST = 192.168.1.107)(PORT = 1521))) (CONNECT_DATA=(SERVICE_NAME = lottery) ) );User Id=用戶名;Password=密碼;');

第四步:重啟系統(tǒng)


C#代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.OracleClient;
namespace TestOracle
{
    class Program
    {
        static void Main(string[] args)
        {
            String conn = @'Data Source=ORCL;Persist Security Info=True;User Id=testdb;Password=manager';
            String conn1 = String.Format('Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.107)(PORT = 1521))) (CONNECT_DATA =(SERVICE_NAME = lottery) ) );User Id=testdb;Password=manager;');
            OracleConnection oc = new OracleConnection(conn);
            try
            {                
                oc.Open();
                OracleCommand cmd = oc.CreateCommand();
                cmd.CommandText = 'select sysdate from dual';
                OracleDataReader odr = cmd.ExecuteReader();
                while (odr.Read())
                {
                    Console.WriteLine(odr.GetDateTime(0).ToString());
                }                
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {               
                oc.Close();
            }
            Console.Read();
        }
    }
}

運行結(jié)果:


    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約