Archive for 9月 6th, 2012

  1. 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!