1

Visual Studio 2010で新しいコンソールアプリケーションプロジェクトを作成しました(VS 2012で試しましたが、問題は同じです)。使用法は次のとおりです。

using System;
using System.Data.Common;
using Oracle.DataAccess.Client;

Mainメソッドで私はこのコードを書きました:

   var oracleInstance = OracleClientFactory.Instance;
        using (DbConnection conn = oracleInstance.CreateConnection())
        {
            conn.ConnectionString =
                "Data Source=XXX;Persist Security Info=True;User ID=XXX;Password=XXX;";
            conn.Open();

            var command = conn.CreateCommand();
            command.CommandText = "SELECT * FROM TABLE1 where rownum = 1";

            DbDataReader reader = command.ExecuteReader();


            while (reader.Read())
            {
                for (int i = 0; i < reader.FieldCount; i++)
                {
                    Console.WriteLine("Column number {0}: {1}", i, reader[i]);
                }
            }
}

ターゲットフレームワークは.NET4.0です。Oracle.DataAccess.dll 4.112.3.0(.NET 4)を参照しました。

問題は次のとおりです。.NET4.0をターゲットにすると、コンパイルが機能せず、タイプまたは名前空間の名前「Oracle」が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?) 。.NETをターゲットにすると4.0クライアントプロファイル、正常に動作します。 実際には、.NET 4.0クライアントプロファイルではなく、.NET4.0フレームワークをターゲットにする必要があります

この問題の解決策はありますか?

4

0 に答える 0