web-dev-qa-db-ja.com

.NETからOracle DBに接続する方法は?

SQLコマンドラインを開くと、_CONNECT username/password@[//]Host[:port][/service_name]_と書くと、データベースに正しく接続されます。ただし、接続文字列を使用して.NETプロジェクトから接続することはできません。私は_<add name="ConnectionString" connectionString="Data Source=username/password@[//]Host[:port][/service_name];" />_や_<add name="ConnectionString" connectionString="server=tcp:Host;Initial Catalog=service_name; user id=username; password=password; Connection Timeout=180;" providerName="System.Data.OracleClient" />_など多くのことを試しましたが、何もうまくいきませんでした。以下のsconn.Open();に到達するたびに:

_var CurrentConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection sconn = new SqlConnection(CurrentConnectionString);
sconn.Open();
_

実際には常に次のエラーが発生します。

SQL Serverへの接続を確立中にネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったか、アクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認してください。 (プロバイダー:SQLネットワークインターフェイス、エラー:25-接続文字列が無効です)

データベースに適切に接続するにはどうすればよいですか?

7
Mathieu Roy

次の接続文字列を試してください

string con = "Data Source=(DESCRIPTION =(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host = 000.00.0.00)(PORT = 0000)))(CONNECT_DATA =(SERVICE_NAME = database)));User ID=User/Schema;Password=password;Unicode=True";

&次に、この接続文字列を次のように使用します

using (OracleConnection objConn = new OracleConnection(con))
 {
   \\ code
 }
7
user2148124

「公式Oracle ODP.NET、マネージドドライバー」の使用を強くお勧めします。

https://www.nuget.org/packages/Oracle.ManagedDataAccess/

またはEntityフレームワーク用: https://www.nuget.org/packages/Oracle.ManagedDataAccess.EntityFramework/

Visual Studio経由でインストールした後、readmeが開きます。これもお読みになることをお勧めします。

Oracleは大量のドキュメントを提供しています。これが始まりです:http://www.Oracle.com/technetwork/topics/dotnet/whatsnew/index.html

(Microsoft)SQL Serverへの接続に使用されるSystem.Data.SqlClient.SqlConnectionを使用します。これは、Oracle接続には使用できません。

System.Data.OracleClient.OracleConnectionまたはOracle.ManagedDataAccess.Client.OracleConnectionを使用する必要があります

他の可能性を確認するには、この回答をご覧ください: 。netからOracle 11データベースに接続する方法

1

いつでもEFを使用でき、create one ADO.Net Entity Data Model

enter image description here

ウィザードを使用して接続を作成およびテストします

enter image description here

0