Archive for 3月 2nd, 2013

  1. Hello, ODP.NET(Oxygene) World!

    Posted on 3月 2nd, 2013 by cx20

    ODP.NET(Oxygene)

    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

    ソースコード(Oxygene + ODP.NET + Oracle)

    namespace hello;
     
    interface
    uses
        System,
        Oracle.DataAccess.Client;
     
    type
        Hello = class
    public
        class method Main(args: array of String): Integer;
    end;
     
    implementation
     
    class method Hello.Main(args: array of String): Integer;
    var
        conStr: String;
        sqlStr: String;
        con: OracleConnection;
        cmd: OracleCommand;
        reader: OracleDataReader;
    begin
        conStr := "Data Source=ORCL;User ID=scott;Password=tiger";
        sqlStr := "SELECT 'Hello, ODP.NET World!' AS Message FROM DUAL";
        con := new OracleConnection(conStr);
        cmd := new OracleCommand(sqlStr, con);
        con.Open();
        reader := cmd.ExecuteReader();
        while reader.Read() do begin
            System.Console.WriteLine( reader.GetName(0) );
            System.Console.WriteLine( "---------------------" );
            System.Console.WriteLine( reader[0] );
        end;
        reader.Close();
        con.Close();
    end;
     
    end.

    コンパイル方法

    C:¥> oxygene Hello.pas ^
           -type:exe -cputype:x86 ^
           -ref:System.dll;System.Data.dll;Oracle.DataAccess.dll

    実行結果

    MESSAGE
    ---------------------
    Hello, ODP.NET World!