Hello, ODP.NET(C++/CLI) World!
Posted on 9月 5th, 2012 by cx20
ODP.NET(C++/CLI)
ODP.NET(Oracle Data Provider for .NET)は、.NET ベースの Oracle Database 接続用 API である。ODAC(Oracle Data Access Component)と呼ばれるパッケージに含まれる。
.NET 環境での Oracle Database 用データプロバイダとしては、マイクロソフト社が提供する「Microsoft Oracle Client」とオラクル社が提供する「ODP.NET」があるが、現在、「Microsoft Oracle Client」はマイクロソフト社自身が非推奨としており、今後は ODP.NET の使用が推奨されている。
データプロバイダ |
説明 |
System.Data.OracleClient |
.NET Framework Data Provider for Oracle |
Oracle.DataAccess.Client |
Oracle Data Provider for .NET |
ソースコード(C++/CLI + ODP.NET + Oracle)
#using <System.dll>
#using <System.Data.dll>
#using <Oracle.DataAccess.dll>
using namespace System;
using namespace Oracle::DataAccess::Client;
int main( array<System::String^>^ args )
{
String^ conStr = "Data Source=ORCL;User ID=scott;Password=tiger;";
String^ sqlStr = "SELECT 'Hello, ODP.NET World!' AS Message FROM DUAL";
OracleConnection^ con = gcnew OracleConnection(conStr);
OracleCommand^ cmd = gcnew OracleCommand(sqlStr, con);
con->Open();
OracleDataReader^ reader = cmd->ExecuteReader();
while( reader->Read() )
{
Console::WriteLine( reader->GetName(0) );
Console::WriteLine( "---------------------" );
Console::WriteLine( reader[0] );
}
reader->Close();
con->Close();
return 0;
} |
#using <System.dll>
#using <System.Data.dll>
#using <Oracle.DataAccess.dll>
using namespace System;
using namespace Oracle::DataAccess::Client;
int main( array<System::String^>^ args )
{
String^ conStr = "Data Source=ORCL;User ID=scott;Password=tiger;";
String^ sqlStr = "SELECT 'Hello, ODP.NET World!' AS Message FROM DUAL";
OracleConnection^ con = gcnew OracleConnection(conStr);
OracleCommand^ cmd = gcnew OracleCommand(sqlStr, con);
con->Open();
OracleDataReader^ reader = cmd->ExecuteReader();
while( reader->Read() )
{
Console::WriteLine( reader->GetName(0) );
Console::WriteLine( "---------------------" );
Console::WriteLine( reader[0] );
}
reader->Close();
con->Close();
return 0;
}
コンパイル方法
C:¥> SET LIBPATH=<ORA_HOME>odp.netbin2.x;%LIBPATH%
C:¥> cl Hello.cpp /clr |
C:¥> SET LIBPATH=<ORA_HOME>odp.netbin2.x;%LIBPATH%
C:¥> cl Hello.cpp /clr
実行結果
MESSAGE
---------------------
Hello, ODP.NET World! |
MESSAGE
---------------------
Hello, ODP.NET World!
Tags: ODP.NET
Categories: .NET, C++/CLI, ODP.NET