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-接続文字列が無効です)
データベースに適切に接続するにはどうすればよいですか?
次の接続文字列を試してください
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
}
「公式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データベースに接続する方法