Archive for the ‘.NET’ Category

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

    Posted on 9月 11th, 2012 by cx20

    ODP.NET(PowerShell)

    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

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

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

    実行方法

    C:¥> PowerShell -file Hello.ps1

    実行結果

    MESSAGE
    ---------------------
    Hello, ODP.NET World!
  2. 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!
  3. Hello, ODP.NET(F#) World!

    Posted on 9月 9th, 2012 by cx20

    ODP.NET(F#)

    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

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

    open System;
    open Oracle.DataAccess.Client;
     
    let conStr = "Data Source=ORCL;User ID=scott;Password=tiger;"
    let con = new OracleConnection(conStr)
    let sqlStr = "SELECT 'Hello, ODP.NET World' AS Message FROM DUAL"
    let cmd = new OracleCommand(sqlStr, con)
    con.Open()
    let reader = cmd.ExecuteReader()
    while reader.Read() do
        printfn "%s" (reader.GetName(0))
        printfn "---------------------" 
        printfn "%s" (reader.GetString(0))
    reader.Close()
    con.Close()

    コンパイル方法

    C:¥> fsc -r:Oracle.DataAccess.dll Hello.fs

    実行結果

    MESSAGE
    ---------------------
    Hello, ODP.NET World!
  4. Hello, ADO.NET(F#) World!

    Posted on 9月 8th, 2012 by cx20

    ADO.NET(F#)

    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

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

    open System;
    open System.Data.OleDb;
     
    let conStr = "Provider=Microsoft.Jet.OLEDB.4.0;
                  Data Source=.hello.mdb;"
    let con = new OleDbConnection(conStr)
    let sqlStr = "SELECT 'Hello, ADO.NET World' AS Message"
    let cmd = new OleDbCommand(sqlStr, con)
    con.Open()
    let reader = cmd.ExecuteReader()
    while reader.Read() do
        printfn "%s" (reader.GetName(0))
        printfn "---------------------" 
        printfn "%s" (reader.GetString(0))
    reader.Close()
    con.Close()

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

    open System;
    open System.Data.OleDb;
     
    let conStr = "Provider=Microsoft.ACE.OLEDB.12.0;
                  Data Source=.hello.accdb;"
    let con = new OleDbConnection(conStr)
    let sqlStr = "SELECT 'Hello, ADO.NET World' AS Message"
    let cmd = new OleDbCommand(sqlStr, con)
    con.Open()
    let reader = cmd.ExecuteReader()
    while reader.Read() do
        printfn "%s" (reader.GetName(0))
        printfn "---------------------" 
        printfn "%s" (reader.GetString(0))
    reader.Close()
    con.Close()

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

    open System;
    open System.Data.SqlClient;
     
    let conStr = "SERVER=(local);
                   DATABASE=master;
                   UID=sa;PWD=P@ssW0rd;"
    let con = new SqlConnection(conStr)
    let sqlStr = "SELECT 'Hello, ADO.NET World' AS Message"
    let cmd = new SqlCommand(sqlStr, con)
    con.Open()
    let reader = cmd.ExecuteReader()
    while reader.Read() do
        printfn "%s" (reader.GetName(0))
        printfn "---------------------" 
        printfn "%s" (reader.GetString(0))
    reader.Close()
    con.Close()

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

    open System;
    open System.Data.OracleClient;
     
    let conStr = "Data Source=ORCL;User ID=scott;Password=tiger;"
    let con = new OracleConnection(conStr)
    let sqlStr = "SELECT 'Hello, ADO.NET World' AS Message FROM DUAL"
    let cmd = new OracleCommand(sqlStr, con)
    con.Open()
    let reader = cmd.ExecuteReader()
    while reader.Read() do
        printfn "%s" (reader.GetName(0))
        printfn "---------------------" 
        printfn "%s" (reader.GetString(0))
    reader.Close()
    con.Close()

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

    open System;
    open System.Data.Odbc;
     
    let conStr = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd"
    let con = new OdbcConnection(conStr)
    let sqlStr = "SELECT 'Hello, ADO.NET World' AS Message"
    let cmd = new OdbcCommand(sqlStr, con)
    con.Open()
    let reader = cmd.ExecuteReader()
    while reader.Read() do
        printfn "%s" (reader.GetName(0))
        printfn "---------------------" 
        printfn "%s" (reader.GetString(0))
    reader.Close()
    con.Close()

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

    C:¥> fsc Hello.fs --platform:x86

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

    C:¥> fsc Hello.fs

    実行結果

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

    Posted on 9月 7th, 2012 by cx20

    ODP.NET(JScript.NET)

    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

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

    import System;
    import System.Data;
    import System.Drawing;
    import Oracle.DataAccess.Client;
     
    main();
     
    function main() {
        var conStr = "Data Source=ORCL;User ID=scott;Password=tiger;";
        var sqlStr = "SELECT 'Hello, ODP.NET World!' AS Message FROM DUAL";
     
        var con = new OracleConnection(conStr);
        var cmd = new OracleCommand(sqlStr, con);
        con.Open();
        var reader = cmd.ExecuteReader();
        while( reader.Read() )
        {
            Console.WriteLine( reader.GetName(0) );
            Console.WriteLine( "---------------------" );
            Console.WriteLine( reader[0] );
        }
        reader.Close();
        con.Close();
    }

    コンパイル方法

    C:¥> jsc /r:<ORA_HOME>odp.netbin2.xOracle.DataAccess.dll Hello.js

    実行結果

    MESSAGE
    ---------------------
    Hello, ODP.NET World!
  6. Hello, ADO.NET(JScript.NET) World!

    Posted on 9月 6th, 2012 by cx20

    ADO.NET(JScript.NET)

    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

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

    import System;
    import System.Data.OleDb;
     
    main();
     
    function main() {
        var conStr = "Provider=Microsoft.Jet.OLEDB.4.0;"
            + "Data Source=.\hello.mdb;"
        var sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
        var con = new OleDbConnection(conStr);
        var cmd = new OleDbCommand(sqlStr, con);
        con.Open();
        var reader = cmd.ExecuteReader();
        while( reader.Read() )
        {
            Console.WriteLine( reader.GetName(0) );
            Console.WriteLine( "---------------------" );
            Console.WriteLine( reader[0] );
        }
        reader.Close();
        con.Close();
    }

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

    import System;
    import System.Data.OleDb;
     
    main();
     
    function main() {
        var conStr = "Provider=Microsoft.ACE.OLEDB.12.0;"
            + "Data Source=.\hello.accdb;"
        var sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
        var con = new OleDbConnection(conStr);
        var cmd = new OleDbCommand(sqlStr, con);
        con.Open();
        var reader = cmd.ExecuteReader();
        while( reader.Read() )
        {
            Console.WriteLine( reader.GetName(0) );
            Console.WriteLine( "---------------------" );
            Console.WriteLine( reader[0] );
        }
        reader.Close();
        con.Close();
    }

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

    import System;
    import System.Data.SqlClient;
     
    main();
     
    function main() {
        var conStr = "SERVER=(local);"
            + "DATABASE=master;"
            + "UID=sa;"
            + "PWD=P@ssW0rd";
        var sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
        var con = new SqlConnection(conStr);
        var cmd = new SqlCommand(sqlStr, con);
        con.Open();
        var reader = cmd.ExecuteReader();
        while( reader.Read() )
        {
            Console.WriteLine( reader.GetName(0) );
            Console.WriteLine( "---------------------" );
            Console.WriteLine( reader[0] );
        }
        reader.Close();
        con.Close();
    }

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

    import System;
    import System.Data.OracleClient;
     
    main();
     
    function main() {
        var conStr = "Data Source=ORCL;User ID=scott;Password=tiger;";
        var sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message FROM DUAL";
     
        var con = new OracleConnection(conStr);
        var cmd = new OracleCommand(sqlStr, con);
        con.Open();
        var reader = cmd.ExecuteReader();
        while( reader.Read() )
        {
            Console.WriteLine( reader.GetName(0) );
            Console.WriteLine( "---------------------" );
            Console.WriteLine( reader[0] );
        }
        reader.Close();
        con.Close();
    }

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

    import System;
    import System.Data;
    import System.Data.Odbc;
     
    main();
     
    function main() {
        var conStr = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd";
        var sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
        var con = new OdbcConnection(conStr);
        var cmd = new OdbcCommand(sqlStr, con);
        con.Open();
        var 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:¥> jsc /platform:x86 Hello.js

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

    C:¥> jsc Hello.js

    実行結果

    Message
    ---------------------
    Hello, ADO.NET World!
  7. 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;
    }

    コンパイル方法

    C:¥> SET LIBPATH=<ORA_HOME>odp.netbin2.x;%LIBPATH%
    C:¥> cl Hello.cpp /clr

    実行結果

    MESSAGE
    ---------------------
    Hello, ODP.NET World!
  8. Hello, ADO.NET(C++/CLI) World!

    Posted on 9月 5th, 2012 by cx20

    ADO.NET(C++/CLI)

    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

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

    #using <System.dll>
    #using <System.Data.dll>
     
    using namespace System;
    using namespace System::Data::OleDb;
     
    int main( array<System::String^>^ args )
    {
        String^ conStr = "Provider=Microsoft.Jet.OLEDB.4.0;"
            + "Data Source=.\hello.mdb;";
        String^ sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
        OleDbConnection^ con = gcnew OleDbConnection(conStr);
        OleDbCommand^ cmd = gcnew OleDbCommand(sqlStr, con);
        con->Open();
        OleDbDataReader^ reader = cmd->ExecuteReader();
        while( reader->Read() )
        {
            Console::WriteLine( reader->GetName(0) );
            Console::WriteLine( "---------------------" );
            Console::WriteLine( reader[0] );
        }
        reader->Close();
        con->Close();
     
       return 0;
    }

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

    #using <System.dll>
    #using <System.Data.dll>
     
    using namespace System;
    using namespace System::Data::OleDb;
     
    int main( array<System::String^>^ args )
    {
        String^ conStr = "Provider=Microsoft.ACE.OLEDB.12.0;"
            + "Data Source=.\hello.accdb;";
        String^ sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
        OleDbConnection^ con = gcnew OleDbConnection(conStr);
        OleDbCommand^ cmd = gcnew OleDbCommand(sqlStr, con);
        con->Open();
        OleDbDataReader^ reader = cmd->ExecuteReader();
        while( reader->Read() )
        {
            Console::WriteLine( reader->GetName(0) );
            Console::WriteLine( "---------------------" );
            Console::WriteLine( reader[0] );
        }
        reader->Close();
        con->Close();
     
       return 0;
    }

    ソースコード(C++/CLI + ADO.NET + SQL Server)

    #using <System.dll>
    #using <System.Data.dll>
     
    using namespace System;
    using namespace System::Data::SqlClient;
     
    int main( array<System::String^>^ args )
    {
        String^ conStr = "SERVER=(local);"
            + "DATABASE=master;"
            + "UID=sa;"
            + "PWD=P@ssW0rd";
        String^ sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
        SqlConnection^ con = gcnew SqlConnection(conStr);
        SqlCommand^ cmd = gcnew SqlCommand(sqlStr, con);
        con->Open();
        SqlDataReader^ reader = cmd->ExecuteReader();
        while( reader->Read() )
        {
            Console::WriteLine( reader->GetName(0) );
            Console::WriteLine( "---------------------" );
            Console::WriteLine( reader[0] );
        }
        reader->Close();
        con->Close();
     
       return 0;
    }

    ソースコード(C++/CLI + ADO.NET + Oracle)

    #using <System.dll>
    #using <System.Data.dll>
    #using <System.Data.OracleClient.dll>
     
    using namespace System;
    using namespace System::Data::OracleClient;
     
    int main( array<System::String^>^ args )
    {
        String^ conStr = "Data Source=ORCL;User ID=scott;Password=tiger;";
        String^ sqlStr = "SELECT 'Hello, ADO.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++/CLI + ADO.NET + ODBC + MySQL)

    #using <System.dll>
    #using <System.Data.dll>
     
    using namespace System;
    using namespace System::Data::Odbc;
     
    int main( array<System::String^>^ args )
    {
        String^ conStr = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd";
        String^ sqlStr = "SELECT 'Hello, ADO.NET World!' AS Message";
     
        OdbcConnection^ con = gcnew OdbcConnection(conStr);
        OdbcCommand^ cmd = gcnew OdbcCommand(sqlStr, con);
        con->Open();
        OdbcDataReader^ reader = cmd->ExecuteReader();
        while( reader->Read() )
        {
            Console::WriteLine( reader->GetName(0) );
            Console::WriteLine( "---------------------" );
            Console::WriteLine( reader[0] );
        }
        reader->Close();
        con->Close();
     
       return 0;
    }

    コンパイル方法

    C:¥> cl Hello.cpp /clr

    実行結果

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

    Posted on 9月 3rd, 2012 by cx20

    ODP.NET(VB.NET)

    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

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

    Imports System
    Imports Oracle.DataAccess.Client
     
    class Hello
        Shared Sub Main()
            Dim conStr As String = "Data Source=ORCL;" _
                & "User Id=scott;" _
                & "Password=tiger"
     
            Dim sqlStr As String = "SELECT 'Hello, ODP.NET World!' AS Message FROM DUAL"
     
            Dim con As OracleConnection = New OracleConnection(conStr)
            Dim cmd As OracleCommand = New OracleCommand(sqlStr, con)
            con.Open()
            Dim reader As OracleDataReader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine( reader.GetName(0) )
                Console.WriteLine( "---------------------" )
                Console.WriteLine( reader(0) )
            End While
            reader.Close()
            con.Close()
        End Sub
    End Class

    コンパイル方法(VB.NET)

    C:¥> vbc /r:Oracle.DataAccess.dll Hello.vb

    実行結果

    MESSAGE
    ---------------------
    Hello, ODP.NET World!
  10. Hello, ADO.NET(VB.NET) World!

    Posted on 9月 2nd, 2012 by cx20

    ADO.NET(VB.NET)

    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

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

    Imports System
    Imports System.Data.OleDb
     
    Class Hello
        Shared Sub Main()
            Dim conStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _
                & "Data Source=hello.mdb;"
            Dim sqlStr As String = "SELECT 'Hello, ADO.NET World!' AS Message"
     
            Dim con As OleDbConnection = New OleDbConnection(conStr)
            Dim cmd As OleDbCommand = New OleDbCommand(sqlStr, con)
            con.Open()
            Dim reader As OleDbDataReader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine( reader.GetName(0) )
                Console.WriteLine( "---------------------" )
                Console.WriteLine( reader(0) )
            End While
            reader.Close()
            con.Close()
        End Sub
    End Class

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

    Imports System
    Imports System.Data.OleDb
     
    Class Hello
        Shared Sub Main()
            Dim conStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;" _
                & "Data Source=hello.accdb;"
            Dim sqlStr As String = "SELECT 'Hello, ADO.NET World!' AS Message"
     
            Dim con As OleDbConnection = New OleDbConnection(conStr)
            Dim cmd As OleDbCommand = New OleDbCommand(sqlStr, con)
            con.Open()
            Dim reader As OleDbDataReader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine( reader.GetName(0) )
                Console.WriteLine( "---------------------" )
                Console.WriteLine( reader(0) )
            End While
            reader.Close()
            con.Close()
        End Sub
    End Class

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

    Imports System
    Imports System.Data.SqlClient
     
    Class Hello
        Shared Sub Main()
            Dim conStr As String = "SERVER=(local);" _
                & "DATABASE=master;" _
                & "UID=sa;" _
                & "PWD=P@ssW0rd"
            Dim sqlStr As String = "SELECT 'Hello, ADO.NET World!' AS Message"
     
            Dim con As SqlConnection = New SqlConnection(conStr)
            Dim cmd As SqlCommand = New SqlCommand(sqlStr, con)
            con.Open()
            Dim reader As SqlDataReader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine( reader.GetName(0) )
                Console.WriteLine( "---------------------" )
                Console.WriteLine( reader(0) )
            End While
            reader.Close()
            con.Close()
        End Sub
    End Class

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

    Imports System
    Imports System.Data.OracleClient
     
    Class Hello
        Shared Sub Main()
            Dim conStr As String = "Data Source=ORCL;User ID=scott;Password=tiger"
            Dim sqlStr As String = "SELECT 'Hello, ADO.NET World!' AS Message FROM DUAL"
     
            Dim con As OracleConnection = New OracleConnection(conStr)
            Dim cmd As OracleCommand = New OracleCommand(sqlStr, con)
            con.Open()
            Dim reader As OracleDataReader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine( reader.GetName(0) )
                Console.WriteLine( "---------------------" )
                Console.WriteLine( reader(0) )
            End While
            reader.Close()
            con.Close()
        End Sub
    End Class

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

    Imports System
    Imports System.Data.Odbc
     
    Class Hello
        Shared Sub Main()
            Dim conStr As String = "Driver={MySQL ODBC 5.1 Driver};Server=localhost;UID=root;PWD=P@ssW0rd"
            Dim sqlStr As String = "SELECT 'Hello, ADO.NET World!' AS Message"
     
            Dim con As OdbcConnection = New OdbcConnection(conStr)
            Dim cmd As OdbcCommand = New OdbcCommand(sqlStr, con)
            con.Open()
            Dim reader As OdbcDataReader = cmd.ExecuteReader()
            While reader.Read()
                Console.WriteLine( reader.GetName(0) )
                Console.WriteLine( "---------------------" )
                Console.WriteLine( reader(0) )
            End While
            reader.Close()
            con.Close()
        End Sub
    End Class

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

    C:¥> vbc Hello.vb /platform:x86

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

    C:¥> vbc Hello.vb

    実行結果

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