C#は、Oracleデータベースに接続する方法、Oracleクライアントの状況の下でインストールされていません。

要約:

  当社の開発シナリオでは、多くの場合、非常に一般的な状況であるOracleデータベースに接続する必要性が発生しました。一般的な.NET環境は、TNS / SQL.NET設定ファイルによって、Oracleデータベースへの接続が、TNS Oracleクライアントがなければなりません。
  シーン、Microsoft自身の使用をたくさん使うSystem.Data.OracleClient.dllへの時間は(伝え今維持されていない)、Oracleクライアントをインストールしていないサーバー上のランは、あなたは、Oracleクライアントをインストールするように要求されますが、Oracleの12でこの方法の将来のバージョンではほとんど使用されません。
  シーン二つの、直接の下にOracleクライアントを呼び出すために多くの人々があるOracle.DataAccess.dll(通常は\ Oracleのインストールディレクトリ製品\ 11.2.0 \ dbhome_1 \ ODP.NETでビン\ 2.xではそれらが)。プロバイダは、マシンのOracleの次の(一般的な検査と互換性がありません、あなたはOracleクライアントのこのバージョンでOracle.DataAccess.dll:しかし、プログラムの実行時に、場合であってもよいし、Oracle.DataAccess.Client.OracleExceptionエラーが最もヒットOracle.DataAccess.dll基準バージョンが同じではない、置換の同じバージョン)が問題を解決します。
  以下は説明し、あなたが直接、最新のODP.Net道(Oracle.ManagedDataAccess.dll)を介してOracleデータベースに接続し、Oracleクライアントをインストールする必要はありません。

Oracleの完全管理ドライブOracle.ManagedDataAccess

  Oracleの公式ウェブサイトは完全にホスティングドライブOracle.ManagedDataAccessを管理するC#ODP.Netのための新しい方法を提供し、EFもありません、あなたはOracleがジョブのアカウントダウンロードする必要がある場合、見つけるのは非常に簡単正式アドレス(アドレスをダウンロードし、分散トランザクションをサポートしていますレジスタ)も非常に高速である場合-ポータル:http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html、示すように:

  ダウンロード抽出物は、我々はあなたがEFフレームを使用している場合は、図に示すように、DLL EF6を選択し、見つける必要がありOracle.ManagedDataAccess.dll:

  Oracle.ManagedDataAccess.dllは、接続が成功したOracleのかどうかをテスト、リンクの下にして、私たちのプロジェクトを参照してください。

  スニペット:

复制代码
 1 using System;
 2 using System.Collections.Generic;
 3 using System.Data;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7 using Oracle.ManagedDataAccess.Client;
 8 
 9 namespace ForbiddenTools
10 {
11     class Program
12     {
13         static void Main(string[] args)
14         {
15             Console.Title = "Oracel连接测试";
16             string connString = @"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=服务器IP地址)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME = 服务器名称)));User Id=用户名;Password=密码;";
17             OracleConnection conn = new OracleConnection(connString);
18             conn.Open();
19             if (conn.State == ConnectionState.Open)
20             {
21                 string sql = @"select sysdate from dual";
22                 OracleCommand cmd = new OracleCommand(sql, conn);
23                 Console.WriteLine(cmd.ExecuteScalar());
24                 conn.Close();
25             }
26             Console.ReadKey();
27         }
28     }
29 }
复制代码

PS:如有疑问,请留言,未经允许,不得私自转载,转载请注明出处:http://www.cnblogs.com/xuliangxing/p/8391547.html

おすすめ

転載: www.cnblogs.com/LessNull/p/11286397.html