sql >> データベース >  >> RDS >> Oracle

System.Data.OracleClientには、Oracleクライアントソフトウェアバージョン8.1.7以降が必要です。

    MicrosoftOracleクライアントを使用しているようです。信頼性がはるかに高いため、ODP.netドライバーを使用することをお勧めします。 (Microsoftクライアントも非推奨になっていると思いますか?)

    http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

    ODP.netドライバをインストールし、プロジェクトにOracle.DataAccessへの参照を追加すれば、準備は完了です。サンプルコード(以前の投稿から):

    using System;
    using System.Data;
    using Oracle.DataAccess.Client;
    
    static class Program
    {
        [STAThread]
        static void Main()
        {
            TestOracle();
        }
    
        private static void TestOracle()
        {
            string connString = 
                "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)" + 
                "(HOST=servername)(PORT=‌​1521)))" +
                "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=servicename)));"+ 
                "User Id=username;Password=********;";
            using (OracleConnection conn = new OracleConnection(connString))
            {
                string sqlSelect = "SELECT * FROM TEST_TABLE";
                using (OracleDataAdapter da = new OracleDataAdapter(sqlSelect, conn))
                {
                    var table = new DataTable();
                    da.Fill(table);
    
                    if (table.Rows.Count > 1) 
                        Console.WriteLine("Successfully read oracle.");
                }
            }
        }
    }
    

    編集:以前に「Oracleクライアントソフトウェアバージョン8.1.7以降が必要」というエラーも発生しました。 OracleClientをコンピュータにインストールしたことが原因です。 Microsoftドライバを使用するように設定されている場合は、コンピュータからOracleクライアントを(皮肉なことに)アンインストールしてみてください。



    1. NULL列に一意のインデックスを作成するにはどうすればよいですか?

    2. MariaDBでサポートされている照合の完全なリスト

    3. T-SqlのタイムスタンプはC#ではどういう意味ですか?

    4. SQL Server:複数の行を1つの行に結合