Archive for the ‘ADO.NET’ Category

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

    Posted on 3月 1st, 2013 by cx20

    ADO.NET(Oxygene)

    ADO.NET(ActiveX Data Objects .NET)は、ADO の後継で .NET ベースの DBMS 接続用 API である。
    .NET データプロバイダを介することで様々な DBMS への接続が可能となっている。
    .NET Framework 標準で使用できる .NET データプロバイダとしては、以下のようなプロバイダがある。

    データプロバイダ名 説明
    System.Data.SqlClient Microsoft SQL Server
    System.Data.OleDb OLE DB
    System.Data.Odbc ODBC
    System.Data.OracleClient Oracle

    ソースコード(Oxygene + ADO.NET + OLE DB + Jet データベース)

    namespace hello;
     
    interface
    uses
        System,
        System.Data.OleDb;
     
    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: OleDbConnection;
        cmd: OleDbCommand;
        reader: OleDbDataReader;
    begin
        conStr := "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=hello.mdb";
        sqlStr := "SELECT 'Hello, ADO.NET World!' AS Message";
        con := new OleDbConnection(conStr);
        cmd := new OleDbCommand(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.

    ソースコード(Oxygene + ADO.NET + OLE DB + ACE データベース)

    namespace hello;
     
    interface
    uses
        System,
        System.Data.OleDb;
     
    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: OleDbConnection;
        cmd: OleDbCommand;
        reader: OleDbDataReader;
    begin
        conStr := "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=hello.accdb;";
        sqlStr := "SELECT 'Hello, ADO.NET World!' AS Message";
        con := new OleDbConnection(conStr);
        cmd := new OleDbCommand(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.

    ソースコード(Oxygene + ADO.NET + SQL Server)

    namespace hello;
     
    interface
    uses
        System,
        System.Data.SqlClient;
     
    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: SqlConnection;
        cmd: SqlCommand;
        reader: SqlDataReader;
    begin
        conStr := "SERVER=(local);DATABASE=master;UID=sa;PWD=P@ssW0rd";
        sqlStr := "SELECT 'Hello, ADO.NET World!' AS Message";
        con := new SqlConnection(conStr);
        cmd := new SqlCommand(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.

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

    namespace hello;
     
    interface
    uses
        System,
        System.Data.OracleClient;
     
    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, ADO.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.

    ソースコード(Oxygene + ADO.NET + ODBC + MySQL)

    namespace hello;
     
    interface
    uses
        System,
        System.Data.Odbc;
     
    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: OdbcConnection;
        cmd: OdbcCommand;
        reader: OdbcDataReader;
    begin
        conStr := "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd";
        sqlStr := "SELECT 'Hello, ADO.NET World!' AS Message";
        con := new OdbcConnection(conStr);
        cmd := new OdbcCommand(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.

    コンパイル方法(32bit OLE DB 使用時)

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

    コンパイル方法(64bit OLE DB 使用時)

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

    コンパイル方法(上記以外)

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

    実行結果

    Message
    ---------------------
    Hello, ADO.NET World!
  2. Hello, ADO.NET(Nemerle) World!

    Posted on 2月 27th, 2013 by cx20

    ADO.NET(Nemerle)

    ADO.NET(ActiveX Data Objects .NET)は、ADO の後継で .NET ベースの DBMS 接続用 API である。
    .NET データプロバイダを介することで様々な DBMS への接続が可能となっている。
    .NET Framework 標準で使用できる .NET データプロバイダとしては、以下のようなプロバイダがある。

    データプロバイダ名 説明
    System.Data.SqlClient Microsoft SQL Server
    System.Data.OleDb OLE DB
    System.Data.Odbc ODBC
    System.Data.OracleClient Oracle

    ソースコード(Nemerle + ADO.NET + OLE DB + Jet データベース)

    using System;
    using System.Data.OleDb;
     
    class Hello
    {
        public static Main() : void {
            def conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=hello.mdb";
            def sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
            def con = OleDbConnection(conStr);
            def cmd = OleDbCommand(sqlStr, con);
            con.Open();
            def reader = cmd.ExecuteReader();
            while( reader.Read() )
            {
                Console.WriteLine( reader.GetName(0) );
                Console.WriteLine( "---------------------" );
                Console.WriteLine( reader[0] );
            }
            reader.Close();
            con.Close();
        }
    }

    ソースコード(Nemerle + ADO.NET + OLE DB + ACE データベース)

    using System;
    using System.Data.OleDb;
     
    class Hello
    {
        public static Main() : void {
            def conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=hello.accdb;";
            def sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
            def con = OleDbConnection(conStr);
            def cmd = OleDbCommand(sqlStr, con);
            con.Open();
            def reader = cmd.ExecuteReader();
            while( reader.Read() )
            {
                Console.WriteLine( reader.GetName(0) );
                Console.WriteLine( "---------------------" );
                Console.WriteLine( reader[0] );
            }
            reader.Close();
            con.Close();
        }
    }

    ソースコード(Nemerle + ADO.NET + SQL Server)

    using System;
    using System.Data.SqlClient;
     
    class Hello
    {
        public static Main() : void {
            def conStr = "SERVER=(local);DATABASE=master;UID=sa;PWD=P@ssW0rd";
            def sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
            def con = SqlConnection(conStr);
            def cmd = SqlCommand(sqlStr, con);
            con.Open();
            def reader = cmd.ExecuteReader();
            while( reader.Read() )
            {
                Console.WriteLine( reader.GetName(0) );
                Console.WriteLine( "---------------------" );
                Console.WriteLine( reader[0] );
            }
            reader.Close();
            con.Close();
        }
    }

    ソースコード(Nemerle + ADO.NET + Oracle)

    using System;
    using System.Data.OracleClient;
     
    class Hello
    {
        public static Main() : void {
            def conStr = "Data Source=ORCL;User ID=scott;Password=tiger";
            def sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message FROM DUAL";
     
            def con = OracleConnection(conStr);
            def cmd = OracleCommand(sqlStr, con);
            con.Open();
            def reader = cmd.ExecuteReader();
            while( reader.Read() )
            {
                Console.WriteLine( reader.GetName(0) );
                Console.WriteLine( "---------------------" );
                Console.WriteLine( reader[0] );
            }
            reader.Close();
            con.Close();
        }
    }

    ソースコード(Nemerle + ADO.NET + ODBC + MySQL)

    using System;
    using System.Data.Odbc;
     
    class Hello
    {
        public static Main() : void {
            def conStr = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd";
            def sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
            def con = OdbcConnection(conStr);
            def cmd = OdbcCommand(sqlStr, con);
            con.Open();
            def reader = cmd.ExecuteReader();
            while( reader.Read() )
            {
                Console.WriteLine( reader.GetName(0) );
                Console.WriteLine( "---------------------" );
                Console.WriteLine( reader[0] );
            }
            reader.Close();
            con.Close();
        }
    }

    コンパイル方法(32bit OLE DB 使用時)

    C:¥> ncc -o Hello.exe -r:System.Data -platform:x86 Hello.n

    コンパイル方法(64bit OLE DB 使用時)

    C:¥> ncc -o Hello.exe -r:System.Data -platform:x86 Hello.n

    コンパイル方法(上記以外)

    C:¥> ncc -o Hello.exe -r:System.Data Hello.n

    実行結果

    Message
    ---------------------
    Hello, ADO.NET World!
  3. Hello, ADO.NET(Boo) World!

    Posted on 2月 25th, 2013 by cx20

    ADO.NET(Boo)

    ADO.NET(ActiveX Data Objects .NET)は、ADO の後継で .NET ベースの DBMS 接続用 API である。
    .NET データプロバイダを介することで様々な DBMS への接続が可能となっている。
    .NET Framework 標準で使用できる .NET データプロバイダとしては、以下のようなプロバイダがある。

    データプロバイダ名 説明
    System.Data.SqlClient Microsoft SQL Server
    System.Data.OleDb OLE DB
    System.Data.Odbc ODBC
    System.Data.OracleClient Oracle

    ソースコード(Boo + ADO.NET + OLE DB + Jet データベース)

    import System
    import System.Data.OleDb
     
    [STAThread]
    def Main(argv as (string)):
        conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=hello.mdb;"
        sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
        con = OleDbConnection(conStr)
        cmd = OleDbCommand(sqlStr, con)
        con.Open()
     
        reader = cmd.ExecuteReader()
        while reader.Read():
            Console.WriteLine( reader.GetName(0) )
            Console.WriteLine( "---------------------" )
            Console.WriteLine( reader.GetValue(0) )
     
        reader.Close()
        con.Close()

    ソースコード(Boo + ADO.NET + OLE DB + ACE データベース)

    import System
    import System.Data.OleDb
     
    [STAThread]
    def Main(argv as (string)):
        conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=hello.accdb;"
        sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
        con = OleDbConnection(conStr)
        cmd = OleDbCommand(sqlStr, con)
        con.Open()
     
        reader = cmd.ExecuteReader()
        while reader.Read():
            Console.WriteLine( reader.GetName(0) )
            Console.WriteLine( "---------------------" )
            Console.WriteLine( reader.GetValue(0) )
     
        reader.Close()
        con.Close()

    ソースコード(Boo + ADO.NET + SQL Server)

    import System
    import System.Data.SqlClient
     
    [STAThread]
    def Main(argv as (string)):
        conStr = "SERVER=(local);DATABASE=master;UID=sa;PWD=P@ssW0rd;"
        sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
        con = SqlConnection(conStr)
        cmd = SqlCommand(sqlStr, con)
        con.Open()
     
        reader = cmd.ExecuteReader()
        while reader.Read():
            Console.WriteLine( reader.GetName(0) )
            Console.WriteLine( "---------------------" )
            Console.WriteLine( reader.GetValue(0) )
     
        reader.Close()
        con.Close()

    ソースコード(Boo + ADO.NET + Oracle)

    import System
    import System.Data.OracleClient
     
    [STAThread]
    def Main(argv as (string)):
        conStr = "Data Source=ORCL;User ID=scott;Password=tiger"
        sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message FROM DUAL"
     
        con = OracleConnection(conStr)
        cmd = OracleCommand(sqlStr, con)
        con.Open()
     
        reader = cmd.ExecuteReader()
        while reader.Read():
            Console.WriteLine( reader.GetName(0) )
            Console.WriteLine( "---------------------" )
            Console.WriteLine( reader.GetValue(0) )
     
        reader.Close()
        con.Close()

    ソースコード(Boo + ADO.NET + ODBC + MySQL)

    import System
    import System.Data.Odbc
     
    [STAThread]
    def Main(argv as (string)):
        conStr = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd"
        sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
        con = OdbcConnection(conStr)
        cmd = OdbcCommand(sqlStr, con)
        con.Open()
     
        reader = cmd.ExecuteReader()
        while reader.Read():
            Console.WriteLine( reader.GetName(0) )
            Console.WriteLine( "---------------------" )
            Console.WriteLine( reader.GetValue(0) )
     
        reader.Close()
        con.Close()

    コンパイル方法(32bit OLE DB 使用時)

    C:¥> booc -platform:x86 Hello.boo

    コンパイル方法(64bit OLE DB 使用時)

    C:¥> booc -platform:x64 Hello.boo

    コンパイル方法(上記以外)

    C:¥> booc Hello.boo

    実行結果

    Message
    ---------------------
    Hello, ADO.NET World!
  4. Hello, ADO.NET(Cobra) World!

    Posted on 2月 21st, 2013 by cx20

    ADO.NET(Cobra)

    ADO.NET(ActiveX Data Objects .NET)は、ADO の後継で .NET ベースの DBMS 接続用 API である。
    .NET データプロバイダを介することで様々な DBMS への接続が可能となっている。
    .NET Framework 標準で使用できる .NET データプロバイダとしては、以下のようなプロバイダがある。

    データプロバイダ名 説明
    System.Data.SqlClient Microsoft SQL Server
    System.Data.OleDb OLE DB
    System.Data.Odbc ODBC
    System.Data.OracleClient Oracle

    ソースコード(Cobra + ADO.NET + OLE DB + Jet データベース)

    use System
    use System.Data
    use System.Data.OleDb
     
    class Program
        def main is shared
            conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=hello.mdb;"
            sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
            con = OleDbConnection(conStr)
            cmd = OleDbCommand(sqlStr, con)
            con.open()
     
            reader = cmd.executeReader()
            while reader.read()
                Console.writeLine( reader.getName(0) )
                Console.writeLine( "---------------------" )
                Console.writeLine( reader.getValue(0) )
     
            reader.close()
            con.close()

    ソースコード(Cobra + ADO.NET + OLE DB + ACE データベース)

    use System
    use System.Data
    use System.Data.OleDb
     
    class Program
        def main is shared
            conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=hello.mdb;"
            sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
            con = OleDbConnection(conStr)
            cmd = OleDbCommand(sqlStr, con)
            con.open()
     
            reader = cmd.executeReader()
            while reader.read()
                Console.writeLine( reader.getName(0) )
                Console.writeLine( "---------------------" )
                Console.writeLine( reader.getValue(0) )
     
            reader.close()
            con.close()

    ソースコード(Cobra + ADO.NET + SQL Server)

    use System
    use System.Data
    use System.Data.SqlClient
     
    class Program
        def main is shared
            conStr = "SERVER=(local);DATABASE=master;UID=sa;PWD=P@ssW0rd;"
            sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
            con = SqlConnection(conStr)
            cmd = SqlCommand(sqlStr, con)
            con.open()
     
            reader = cmd.executeReader()
            while reader.read()
                Console.writeLine( reader.getName(0) )
                Console.writeLine( "---------------------" )
                Console.writeLine( reader.getValue(0) )
     
            reader.close()
            con.close()

    ソースコード(Cobra + ADO.NET + Oracle)

    use System
    use System.Data
    use System.Data.OracleClient
     
    class Program
        def main is shared
            conStr = "Data Source=ORCL;User ID=scott;Password=tiger"
            sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message FROM DUAL"
     
            con = OracleConnection(conStr)
            cmd = OracleCommand(sqlStr, con)
            con.open()
     
            reader = cmd.executeReader()
            while reader.read()
                Console.writeLine( reader.getName(0) )
                Console.writeLine( "---------------------" )
                Console.writeLine( reader.getValue(0) )
     
            reader.close()
            con.close()

    ソースコード(Cobra + ADO.NET + ODBC + MySQL)

    use System
    use System.Data
    use System.Data.Odbc
     
    class Program
        def main is shared
            conStr = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd"
            sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
            con = OdbcConnection(conStr)
            cmd = OdbcCommand(sqlStr, con)
            con.open()
     
            reader = cmd.executeReader()
            while reader.read()
                Console.writeLine( reader.getName(0) )
                Console.writeLine( "---------------------" )
                Console.writeLine( reader.getValue(0) )
     
            reader.close()
            con.close()

    コンパイル方法(32bit OLE DB 使用時)

    C:¥> cobra -compile -sharp-args:"/platform:x86" Hello.cobra

    コンパイル方法(上記以外)

    C:¥> cobra -compile Hello.cobra

    実行結果

    Message
    ---------------------
    Hello, ADO.NET World!
  5. Hello, ADO.NET(Phalanger) World!

    Posted on 2月 19th, 2013 by cx20

    ADO.NET(Phalanger)

    ADO.NET(ActiveX Data Objects .NET)は、ADO の後継で .NET ベースの DBMS 接続用 API である。
    .NET データプロバイダを介することで様々な DBMS への接続が可能となっている。
    .NET Framework 標準で使用できる .NET データプロバイダとしては、以下のようなプロバイダがある。

    データプロバイダ名 説明
    System.Data.SqlClient Microsoft SQL Server
    System.Data.OleDb OLE DB
    System.Data.Odbc ODBC
    System.Data.OracleClient Oracle

    ソースコード(Phalanger + ADO.NET + OLE DB + Jet データベース)

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <phpNet>
            <classLibrary>
                <add assembly="mscorlib" />
                <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
                <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            </classLibrary>
        </phpNet>
    </configuration>
    <?
    use System;
    use SystemDataOleDb;
     
    class Hello
    {
        static function Main()
        {
            $conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=hello.mdb";
            $sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
            $con = new SystemDataOleDbOleDbConnection($conStr);
            $cmd = new SystemDataOleDbOleDbCommand($sqlStr, $con);
            $con->Open();
            $reader = $cmd->ExecuteReader();
            while ($reader->Read())
            {
                SystemConsole::WriteLine( $reader->GetName(0) );
                SystemConsole::WriteLine( "---------------------" );
                SystemConsole::WriteLine( $reader->GetValue(0) );
            }
            $reader->Close();
            $con->Close();
        }
    }
    ?>

    ソースコード(Phalanger + ADO.NET + OLE DB + ACE データベース)

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <phpNet>
            <classLibrary>
                <add assembly="mscorlib" />
                <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
                <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            </classLibrary>
        </phpNet>
    </configuration>
    <?
    use System;
    use SystemDataOleDb;
     
    class Hello
    {
        static function Main()
        {
            $conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=.\hello.accdb";
            $sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
            $con = new SystemDataOleDbOleDbConnection($conStr);
            $cmd = new SystemDataOleDbOleDbCommand($sqlStr, $con);
            $con->Open();
            $reader = $cmd->ExecuteReader();
            while ($reader->Read())
            {
                SystemConsole::WriteLine( $reader->GetName(0) );
                SystemConsole::WriteLine( "---------------------" );
                SystemConsole::WriteLine( $reader->GetValue(0) );
            }
            $reader->Close();
            $con->Close();
        }
    }
    ?>

    ソースコード(Phalanger + ADO.NET + SQL Server)

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <phpNet>
            <classLibrary>
                <add assembly="mscorlib" />
                <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
                <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            </classLibrary>
        </phpNet>
    </configuration>
    <?
    use System;
    use SystemDataSqlClient;
     
    class Hello
    {
        static function Main()
        {
            $conStr = "SERVER=(local);DATABASE=master;UID=sa;PWD=P@ssW0rd";
            $sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
            $con = new SystemDataSqlClientSqlConnection($conStr);
            $cmd = new SystemDataSqlClientSqlCommand($sqlStr, $con);
            $con->Open();
            $reader = $cmd->ExecuteReader();
            while ($reader->Read())
            {
                SystemConsole::WriteLine( $reader->GetName(0) );
                SystemConsole::WriteLine( "---------------------" );
                SystemConsole::WriteLine( $reader->GetValue(0) );
            }
            $reader->Close();
            $con->Close();
        }
    }
    ?>

    ソースコード(Phalanger + ADO.NET + Oracle)

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <phpNet>
            <classLibrary>
                <add assembly="mscorlib" />
                <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
                <add assembly="System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            </classLibrary>
        </phpNet>
    </configuration>
    <?
    use System;
    use SystemDataOracleClient;
     
    class Hello
    {
        static function Main()
        {
            $conStr = "Data Source=ORCL;User ID=scott;Password=tiger";
            $sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message FROM DUAL";
     
            $con = new SystemDataOracleClientOracleConnection($conStr);
            $cmd = new SystemDataOracleClientOracleCommand($sqlStr, $con);
            $con->Open();
            $reader = $cmd->ExecuteReader();
            while ($reader->Read())
            {
                SystemConsole::WriteLine( $reader->GetName(0) );
                SystemConsole::WriteLine( "---------------------" );
                SystemConsole::WriteLine( $reader->GetValue(0) );
            }
            $reader->Close();
            $con->Close();
        }
    }
    ?>

    ソースコード(Phalanger + ADO.NET + ODBC + MySQL)

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
        <phpNet>
            <classLibrary>
                <add assembly="mscorlib" />
                <add assembly="System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
                <add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            </classLibrary>
        </phpNet>
    </configuration>
    <?
    use System;
    use System\Data\Odbc;
     
    class Hello
    {
        static function Main()
        {
            $conStr = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd";
            $sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
            $con = new System\Data\Odbc\OdbcConnection($conStr);
            $cmd = new System\Data\Odbc\OdbcCommand($sqlStr, $con);
            $con->Open();
            $reader = $cmd->ExecuteReader();
            while ($reader->Read())
            {
                System\Console::WriteLine( $reader->GetName(0) );
                System\Console::WriteLine( "---------------------" );
                System\Console::WriteLine( $reader->GetValue(0) );
            }
            $reader->Close();
            $con->Close();
        }
    }
    ?>

    コンパイル方法

    C:¥> phpc /pure Hello.php

    実行結果

    Message
    ---------------------
    Hello, ADO.NET World!
  6. Hello, ADO.NET(ClojureCLR) World!

    Posted on 2月 17th, 2013 by cx20

    ADO.NET(ClojureCLR)

    ADO.NET(ActiveX Data Objects .NET)は、ADO の後継で .NET ベースの DBMS 接続用 API である。
    .NET データプロバイダを介することで様々な DBMS への接続が可能となっている。
    .NET Framework 標準で使用できる .NET データプロバイダとしては、以下のようなプロバイダがある。

    データプロバイダ名 説明
    System.Data.SqlClient Microsoft SQL Server
    System.Data.OleDb OLE DB
    System.Data.Odbc ODBC
    System.Data.OracleClient Oracle

    ソースコード(ClojureCLR + ADO.NET + OLE DB + Jet データベース)

    (System.Reflection.Assembly/LoadWithPartialName "System.Data")
     
    (import '(System.Data.OleDb OleDbConnection))
    (import '(System.Data.OleDb OleDbCommand))
    (import '(System.Data.OleDb OleDbDataReader))
     
    (def conStr "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=hello.mdb")
    (def sqlStr "SELECT 'Hello, ADO.NET World!' AS Message")
    (def con (OleDbConnection. conStr))
    (def cmd (OleDbCommand. sqlStr con))
    (.Open con)
    (def reader (.ExecuteReader cmd))
    (if (.Read reader)
        (do
            (System.Console/WriteLine (.GetName reader 0))
            (System.Console/WriteLine "---------------------")
            (System.Console/WriteLine (.GetValue reader 0))
        )
    )
    (.Close reader)
    (.Close con)

    ソースコード(ClojureCLR + ADO.NET + OLE DB + ACE データベース)

    (System.Reflection.Assembly/LoadWithPartialName "System.Data")
     
    (import '(System.Data.OleDb OleDbConnection))
    (import '(System.Data.OleDb OleDbCommand))
    (import '(System.Data.OleDb OleDbDataReader))
     
    (def conStr "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=hello.accdb")
    (def sqlStr "SELECT 'Hello, ADO.NET World!' AS Message")
    (def con (OleDbConnection. conStr))
    (def cmd (OleDbCommand. sqlStr con))
    (.Open con)
    (def reader (.ExecuteReader cmd))
    (if (.Read reader)
        (do
            (System.Console/WriteLine (.GetName reader 0))
            (System.Console/WriteLine "---------------------")
            (System.Console/WriteLine (.GetValue reader 0))
        )
    )
    (.Close reader)
    (.Close con)

    ソースコード(ClojureCLR + ADO.NET + SQL Server)

    (System.Reflection.Assembly/LoadWithPartialName "System.Data")
     
    (import '(System.Data.SqlClient SqlConnection))
    (import '(System.Data.SqlClient SqlCommand))
    (import '(System.Data.SqlClient SqlDataReader))
     
    (def conStr "SERVER=(local);DATABASE=master;UID=sa;PWD=P@ssW0rd")
    (def sqlStr "SELECT 'Hello, ADO.NET World!' AS Message")
    (def con (SqlConnection. conStr))
    (def cmd (SqlCommand. sqlStr con))
    (.Open con)
    (def reader (.ExecuteReader cmd))
    (if (.Read reader)
        (do
            (System.Console/WriteLine (.GetName reader 0))
            (System.Console/WriteLine "---------------------")
            (System.Console/WriteLine (.GetValue reader 0))
        )
    )
    (.Close reader)
    (.Close con)

    ソースコード(ClojureCLR + ADO.NET + Oracle)

    (System.Reflection.Assembly/LoadWithPartialName "System.Data")
    (System.Reflection.Assembly/LoadWithPartialName "System.Data.OracleClient")
     
    (import '(System.Data.OracleClient OracleConnection))
    (import '(System.Data.OracleClient OracleCommand))
    (import '(System.Data.OracleClient OracleDataReader))
     
    (def conStr "Data Source=ORCL;User ID=scott;Password=tiger")
    (def sqlStr "SELECT 'Hello, ADO.NET World!' AS Message FROM DUAL")
    (def con (OracleConnection. conStr))
    (def cmd (OracleCommand. sqlStr con))
    (.Open con)
    (def reader (.ExecuteReader cmd))
    (if (.Read reader)
        (do
            (System.Console/WriteLine (.GetName reader 0))
            (System.Console/WriteLine "---------------------")
            (System.Console/WriteLine (.GetValue reader 0))
        )
    )
    (.Close reader)
    (.Close con)

    ソースコード(ClojureCLR + ADO.NET + ODBC + MySQL)

    (System.Reflection.Assembly/LoadWithPartialName "System.Data")
     
    (import '(System.Data.Odbc OdbcConnection))
    (import '(System.Data.Odbc OdbcCommand))
    (import '(System.Data.Odbc OdbcDataReader))
     
    (def conStr "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd")
    (def sqlStr "SELECT 'Hello, ADO.NET World!' AS Message FROM DUAL")
    (def con (OdbcConnection. conStr))
    (def cmd (OdbcCommand. sqlStr con))
    (.Open con)
    (def reader (.ExecuteReader cmd))
    (if (.Read reader)
        (do
            (System.Console/WriteLine (.GetName reader 0))
            (System.Console/WriteLine "---------------------")
            (System.Console/WriteLine (.GetValue reader 0))
        )
    )
    (.Close reader)
    (.Close con)

    実行方法

    C:¥> Clojure.Main hello.clj

    実行結果

    Message
    ---------------------
    Hello, ADO.NET World!
  7. Hello, ADO.NET(IronScheme) World!

    Posted on 2月 15th, 2013 by cx20

    ADO.NET(IronScheme)

    ADO.NET(ActiveX Data Objects .NET)は、ADO の後継で .NET ベースの DBMS 接続用 API である。
    .NET データプロバイダを介することで様々な DBMS への接続が可能となっている。
    .NET Framework 標準で使用できる .NET データプロバイダとしては、以下のようなプロバイダがある。

    データプロバイダ名 説明
    System.Data.SqlClient Microsoft SQL Server
    System.Data.OleDb OLE DB
    System.Data.Odbc ODBC
    System.Data.OracleClient Oracle

    ソースコード(IronScheme + ADO.NET + OLE DB + Jet データベース)

    (import
        (rnrs)
        (ironscheme clr)
    )
     
    (clr-reference System)
    (clr-reference System.Data)
     
    (clr-using System)
    (clr-using System.Data.OleDb)
     
    (begin
        (define conStr "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=hello.mdb")
        (define sqlStr "SELECT 'Hello, ADO.NET World!' AS Message")
        (define con (clr-new OleDbConnection conStr))
        (define cmd (clr-new OleDbCommand sqlStr con))
        (clr-call OleDbConnection Open con)
        (define reader (clr-call OleDbCommand ExecuteReader cmd))
        (if (clr-call OleDbDataReader Read reader)
            (begin
                (clr-static-call System.Console WriteLine (clr-call OleDbDataReader GetName reader 0))
                (clr-static-call System.Console WriteLine "---------------------")
                (clr-static-call System.Console WriteLine (clr-call OleDbDataReader GetValue reader 0))
            )
        )
        (clr-call OleDbDataReader Close reader)
        (clr-call OleDbConnection Close con)
    )

    ソースコード(IronScheme + ADO.NET + OLE DB + ACE データベース)

    (import
        (rnrs)
        (ironscheme clr)
    )
     
    (clr-reference System)
    (clr-reference System.Data)
     
    (clr-using System)
    (clr-using System.Data.OleDb)
     
    (begin
        (define conStr "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=hello.accdb")
        (define sqlStr "SELECT 'Hello, ADO.NET World!' AS Message")
        (define con (clr-new OleDbConnection conStr))
        (define cmd (clr-new OleDbCommand sqlStr con))
        (clr-call OleDbConnection Open con)
        (define reader (clr-call OleDbCommand ExecuteReader cmd))
        (if (clr-call OleDbDataReader Read reader)
            (begin
                (clr-static-call System.Console WriteLine (clr-call OleDbDataReader GetName reader 0))
                (clr-static-call System.Console WriteLine "---------------------")
                (clr-static-call System.Console WriteLine (clr-call OleDbDataReader GetValue reader 0))
            )
        )
        (clr-call OleDbDataReader Close reader)
        (clr-call OleDbConnection Close con)
    )

    ソースコード(IronScheme + ADO.NET + SQL Server)

    (import
        (rnrs)
        (ironscheme clr)
    )
     
    (clr-reference System)
    (clr-reference System.Data)
     
    (clr-using System)
    (clr-using System.Data.SqlClient)
     
    (begin
        (define conStr "SERVER=(local);DATABASE=master;UID=sa;PWD=P@ssW0rd;")
        (define sqlStr "SELECT 'Hello, ADO.NET World!' AS Message")
        (define con (clr-new SqlConnection conStr))
        (define cmd (clr-new SqlCommand sqlStr con))
        (clr-call SqlConnection Open con)
        (define reader (clr-call SqlCommand ExecuteReader cmd))
        (if (clr-call SqlDataReader Read reader)
            (begin
                (clr-static-call System.Console WriteLine (clr-call SqlDataReader GetName reader 0))
                (clr-static-call System.Console WriteLine "---------------------")
                (clr-static-call System.Console WriteLine (clr-call SqlDataReader GetValue reader 0))
            )
        )
        (clr-call SqlDataReader Close reader)
        (clr-call SqlConnection Close con)
    )

    ソースコード(IronScheme + ADO.NET + Oracle)

    (import
        (rnrs)
        (ironscheme clr)
    )
     
    (clr-reference System)
    (clr-reference System.Data)
     
    (clr-using System)
    (clr-using System.Data.OracleClient)
     
    (begin
        (define conStr "Data Source=ORCL;User ID=scott;Password=tiger;")
        (define sqlStr "SELECT 'Hello, ADO.NET World!' AS Message FROM DUAL")
        (define con (clr-new OracleConnection conStr))
        (define cmd (clr-new OracleCommand sqlStr con))
        (clr-call OracleConnection Open con)
        (define reader (clr-call OracleCommand ExecuteReader cmd))
        (if (clr-call OracleDataReader Read reader)
            (begin
                (clr-static-call System.Console WriteLine (clr-call OracleDataReader GetName reader 0))
                (clr-static-call System.Console WriteLine "---------------------")
                (clr-static-call System.Console WriteLine (clr-call OracleDataReader GetValue reader 0))
            )
        )
        (clr-call OracleDataReader Close reader)
        (clr-call OracleConnection Close con)
    )

    ソースコード(IronScheme + ADO.NET + ODBC + MySQL)

    (import
        (rnrs)
        (ironscheme clr)
    )
     
    (clr-reference System)
    (clr-reference System.Data)
     
    (clr-using System)
    (clr-using System.Data.Odbc)
     
    (begin
        (define conStr "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd")
        (define sqlStr "SELECT 'Hello, ADO.NET World!' AS MessageL")
        (define con (clr-new OdbcConnection conStr))
        (define cmd (clr-new OdbcCommand sqlStr con))
        (clr-call OdbcConnection Open con)
        (define reader (clr-call OdbcCommand ExecuteReader cmd))
        (if (clr-call OdbcDataReader Read reader)
            (begin
                (clr-static-call System.Console WriteLine (clr-call OdbcDataReader GetName reader 0))
                (clr-static-call System.Console WriteLine "---------------------")
                (clr-static-call System.Console WriteLine (clr-call OdbcDataReader GetValue reader 0))
            )
        )
        (clr-call OdbcDataReader Close reader)
        (clr-call OdbcConnection Close con)
    )

    実行方法

    C:¥> isc Hello.ss

    実行結果

    Message
    ---------------------
    Hello, ADO.NET World!
  8. Hello, ADO.NET(IronRuby) World!

    Posted on 2月 13th, 2013 by cx20

    ADO.NET(IronRuby)

    ADO.NET(ActiveX Data Objects .NET)は、ADO の後継で .NET ベースの DBMS 接続用 API である。
    .NET データプロバイダを介することで様々な DBMS への接続が可能となっている。
    .NET Framework 標準で使用できる .NET データプロバイダとしては、以下のようなプロバイダがある。

    データプロバイダ名 説明
    System.Data.SqlClient Microsoft SQL Server
    System.Data.OleDb OLE DB
    System.Data.Odbc ODBC
    System.Data.OracleClient Oracle

    ソースコード(IronRuby + ADO.NET + OLE DB + Jet データベース)

    require 'mscorlib'
    require 'System'
    require 'System.Data'
    include System
    include System::Data
    include System::Data::OleDb
     
    conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=hello.mdb;"
    sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
    con = OleDbConnection.new(conStr)
    cmd = OleDbCommand.new(sqlStr, con)
    con.Open()
     
    reader = cmd.ExecuteReader()
    while reader.Read() do
        Console.WriteLine( reader.GetName(0) )
        Console.WriteLine( "---------------------" )
        Console.WriteLine( reader.GetValue(0) )
    end
     
    reader.Close()
    con.Close()

    ソースコード(IronRuby + ADO.NET + OLE DB + ACE データベース)

    require 'mscorlib'
    require 'System'
    require 'System.Data'
    include System
    include System::Data
    include System::Data::OleDb
     
    conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=hello.accdb;"
    sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
    con = OleDbConnection.new(conStr)
    cmd = OleDbCommand.new(sqlStr, con)
    con.Open()
     
    reader = cmd.ExecuteReader()
    while reader.Read() do
        Console.WriteLine( reader.GetName(0) )
        Console.WriteLine( "---------------------" )
        Console.WriteLine( reader.GetValue(0) )
    end
     
    reader.Close()
    con.Close()

    ソースコード(IronRuby + ADO.NET + SQL Server)

    require 'mscorlib'
    require 'System'
    require 'System.Data'
    include System
    include System::Data
    include System::Data::SqlClient
     
    conStr = "SERVER=(local);DATABASE=master;UID=sa;PWD=P@ssW0rd;"
    sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
    con = SqlConnection.new(conStr)
    cmd = SqlCommand.new(sqlStr, con)
    con.Open()
     
    reader = cmd.ExecuteReader()
    while reader.Read() do
        Console.WriteLine( reader.GetName(0) )
        Console.WriteLine( "---------------------" )
        Console.WriteLine( reader.GetValue(0) )
    end
     
    reader.Close()
    con.Close()

    ソースコード(IronRuby + ADO.NET + Oracle)

    require 'mscorlib'
    require 'System'
    require 'System.Data'
    require 'System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
     
    include System
    include System::Data
    include System::Data::OracleClient
     
    conStr = "Data Source=ORCL;User ID=scott;Password=tiger"
    sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message FROM DUAL"
     
    con = OracleConnection.new(conStr)
    cmd = OracleCommand.new(sqlStr, con)
    con.Open()
     
    reader = cmd.ExecuteReader()
    while reader.Read() do
        Console.WriteLine( reader.GetName(0) )
        Console.WriteLine( "---------------------" )
        Console.WriteLine( reader.GetValue(0) )
    end
     
    reader.Close()
    con.Close()

    ソースコード(IronRuby + ADO.NET + ODBC + MySQL)

    require 'mscorlib'
    require 'System'
    require 'System.Data'
    include System
    include System::Data::Odbc
     
    conStr = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd"
    sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
    con = OdbcConnection.new(conStr)
    cmd = OdbcCommand.new(sqlStr, con)
    con.Open()
     
    reader = cmd.ExecuteReader()
    while reader.Read() do
        Console.WriteLine( reader.GetName(0) )
        Console.WriteLine( "---------------------" )
        Console.WriteLine( reader.GetValue(0) )
    end
     
    reader.Close()
    con.Close()

    実行方法(64bit OLE DB 使用時)

    C:¥> ir64 Hello.rb

    実行方法(上記以外)

    C:¥> ir Hello.rb

    実行結果

    Message
    ---------------------
    Hello, ADO.NET World!
  9. Hello, ADO.NET(IronPython) World!

    Posted on 2月 11th, 2013 by cx20

    ADO.NET(IronPython)

    ADO.NET(ActiveX Data Objects .NET)は、ADO の後継で .NET ベースの DBMS 接続用 API である。
    .NET データプロバイダを介することで様々な DBMS への接続が可能となっている。
    .NET Framework 標準で使用できる .NET データプロバイダとしては、以下のようなプロバイダがある。

    データプロバイダ名 説明
    System.Data.SqlClient Microsoft SQL Server
    System.Data.OleDb OLE DB
    System.Data.Odbc ODBC
    System.Data.OracleClient Oracle

    ソースコード(IronPython + ADO.NET + OLE DB + Jet データベース)

    import clr
    clr.AddReference("System.Data")
    from System import *
    from System.Data.OleDb import *
     
    conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=hello.mdb;"
    sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
    con = OleDbConnection(conStr)
    cmd = OleDbCommand(sqlStr, con)
    con.Open()
     
    reader = cmd.ExecuteReader()
    while reader.Read():
        Console.WriteLine( reader.GetName(0) )
        Console.WriteLine( "---------------------" )
        Console.WriteLine( reader.GetValue(0) )
     
    reader.Close()
    con.Close()

    ソースコード(IronPython + ADO.NET + OLE DB + ACE データベース)

    import clr
    clr.AddReference("System.Data")
    from System import *
    from System.Data.OleDb import *
     
    conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=hello.accdb;"
    sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
    con = OleDbConnection(conStr)
    cmd = OleDbCommand(sqlStr, con)
    con.Open()
     
    reader = cmd.ExecuteReader()
    while reader.Read():
        Console.WriteLine( reader.GetName(0) )
        Console.WriteLine( "---------------------" )
        Console.WriteLine( reader.GetValue(0) )
     
    reader.Close()
    con.Close()

    ソースコード(IronPython + ADO.NET + SQL Server)

    import clr
    clr.AddReference("System.Data")
    from System import *
    from System.Data.SqlClient import *
     
    conStr = "SERVER=(local);DATABASE=master;UID=sa;PWD=P@ssW0rd;"
    sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
    con = SqlConnection(conStr)
    cmd = SqlCommand(sqlStr, con)
    con.Open()
     
    reader = cmd.ExecuteReader()
    while reader.Read():
        Console.WriteLine( reader.GetName(0) )
        Console.WriteLine( "---------------------" )
        Console.WriteLine( reader.GetValue(0) )
     
    reader.Close()
    con.Close()

    ソースコード(IronPython + ADO.NET + Oracle)

    import clr
    clr.AddReference("System.Data")
    clr.AddReference("System.Data.OracleClient")
    from System import *
    from System.Data.OracleClient import *
     
    conStr = "Data Source=ORCL;User ID=scott;Password=tiger"
    sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message FROM DUAL"
     
    con = OracleConnection(conStr)
    cmd = OracleCommand(sqlStr, con)
    con.Open()
     
    reader = cmd.ExecuteReader()
    while reader.Read():
        Console.WriteLine( reader.GetName(0) )
        Console.WriteLine( "---------------------" )
        Console.WriteLine( reader.GetValue(0) )
     
    reader.Close()
    con.Close()

    ソースコード(IronPython + ADO.NET + ODBC + MySQL)

    import clr
    clr.AddReference("System.Data")
    from System import *
    from System.Data.Odbc import *
     
    conStr = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd"
    sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
     
    con = OdbcConnection(conStr)
    cmd = OdbcCommand(sqlStr, con)
    con.Open()
     
    reader = cmd.ExecuteReader()
    while reader.Read():
        Console.WriteLine( reader.GetName(0) )
        Console.WriteLine( "---------------------" )
        Console.WriteLine( reader.GetValue(0) )
     
    reader.Close()
    con.Close()

    実行方法(64bit OLE DB 使用時)

    C:¥> ipy64 Hello.py

    実行方法(上記以外)

    C:¥> ipy Hello.py

    実行結果

    Message
    ---------------------
    Hello, ADO.NET World!
  10. Hello, ADO.NET(PowerShell) World!

    Posted on 9月 10th, 2012 by cx20

    ADO.NET(PowerShell)

    ADO.NET(ActiveX Data Objects .NET)は、ADO の後継で .NET ベースの DBMS 接続用 API である。
    .NET データプロバイダを介することで様々な DBMS への接続が可能となっている。
    .NET Framework 標準で使用できる .NET データプロバイダとしては、以下のようなプロバイダがある。

    データプロバイダ名 説明
    System.Data.SqlClient Microsoft SQL Server
    System.Data.OleDb OLE DB
    System.Data.Odbc ODBC
    System.Data.OracleClient Oracle

    ソースコード(PowerShell + ADO.NET + OLE DB + Jet データベース)

    $conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=hello.mdb;"
    $sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
    $con = New-Object System.Data.OleDb.OleDbConnection($conStr)
    $cmd = New-Object System.Data.OleDb.OleDbCommand($sqlStr, $con)
    $con.Open()
    $reader = $cmd.ExecuteReader()
    while ( $reader.read() )
    {
        $reader.getName(0)
        "---------------------"
        $reader[0]
    }
    $con.Close()

    ソースコード(PowerShell + ADO.NET + OLE DB + ACE データベース)

    $conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=hello.accdb;"
    $sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
    $con = New-Object System.Data.OleDb.OleDbConnection($conStr)
    $cmd = New-Object System.Data.OleDb.OleDbCommand($sqlStr, $con)
    $con.Open()
    $reader = $cmd.ExecuteReader()
    while ( $reader.read() )
    {
        $reader.getName(0)
        "---------------------"
        $reader[0]
    }
    $con.Close()

    ソースコード(PowerShell + ADO.NET + SQL Server)

    $conStr = "SERVER=(local);DATABASE=master;UID=sa;PWD=P@ssW0rd"
    $sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
    $con = New-Object System.Data.SqlClient.SqlConnection($conStr)
    $cmd = New-Object System.Data.SqlClient.SqlCommand($sqlStr, $con)
    $con.Open()
    $reader = $cmd.ExecuteReader()
    while ( $reader.read() )
    {
        $reader.getName(0)
        "---------------------"
        $reader[0]
    }
    $con.Close()

    ソースコード(PowerShell + ADO.NET + Oracle)

    [void][Reflection.Assembly]::LoadWithPartialName("System.Data.OracleClient")
    $conStr = "Data Source=ORCL;User ID=scott;Password=tiger"
    $sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message FROM DUAL"
    $con = New-Object System.Data.OracleClient.OracleConnection($conStr)
    $cmd = New-Object System.Data.OracleClient.OracleCommand($sqlStr, $con)
    $con.Open()
    $reader = $cmd.ExecuteReader()
    while ( $reader.read() )
    {
        $reader.getName(0)
        "---------------------"
        $reader[0]
    }
    $con.Close()

    ソースコード(PowerShell + ADO.NET + ODBC + MySQL)

    [void][Reflection.Assembly]::LoadWithPartialName("System.Data.Odbc")
    $conStr = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd"
    $sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message"
    $con = New-Object System.Data.Odbc.OdbcConnection($conStr)
    $cmd = New-Object System.Data.Odbc.OdbcCommand($sqlStr, $con)
    $con.Open()
    $reader = $cmd.ExecuteReader()
    while ( $reader.read() )
    {
        $reader.getName(0)
        "---------------------"
        $reader[0]
    }
    $con.Close()

    実行方法

    C:¥> powershell -file Hello.ps1

    実行結果

    Message
    ---------------------
    Hello, ADO.NET World!