Archive for 2月 13th, 2013
-
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!