Create  Edit  Diff  Phillro Industries  Index  Search  Changes  History  Source  RSS  Note  wikifarm  Login

RDB::ADOConnection

Microsoft の ADO を使ってデータベースにアクセスするためのコネクションクラス

たけ(tk)はこれを使って PostgreSQL のデータベースにアクセスしているのだが、簡単なサンプルが見つからぬ・・。

Windowsの「スタート」→「設定」→「コントロールパネル」→「管理ツール」→「データソース(ODBC)」を開くと次のような窓が開く。

1.jpg

ADOで接続する場合には、「追加」ボタンを押して「データソースの新規作成」の窓でドライバを選択します。

目的のドライバがない場合には、それぞれのデータベースで用意しているドライバをインストールしておく必要があります。たとえば、PostgreSQLであれば http://www.postgresql.jp/ から最新のドライバをインストールしておきます。(Windows用のインストーラでインストールすればドライバもインストールされるでしょう)。

3.jpg

「データソース(ODBC)アドミニストレータ」で PostgreSQL を選んで、「構成」ボタンを押したら次のような窓になった。

2.jpg

このような状態のときに、

require "phi"
require "rdb/ado"
require "com"

@driver = "PostgreSQL"
@server = "EDiCube-01:apollo"
@user = "postgres"
@passwd = ""

svn,dbn = @server.split(':')
p connection_string = "Driver=#{@driver};Uid=#{@user};PWD=#{@passwd};Server=#{svn};Database=#{dbn}"
  #=>  "Driver=PostgreSQL;Uid=postgres;PWD=;Server=EDiCube-01;Database=apollo"

connection = Phi::ADOConnection.new
connection.connection_string = connection_string
connection.login_prompt = false

puts connection.table_names

でテーブル名のリストが表示されるのだが・・、説明できるほど分かっていない・・。


require "phi"
require "methods_for_wiki"
require "rdb/ado"
puts RDB::ADOConnection.methods_for_wiki

_dump => Phi::Component#_dump

after_connect

after_connect=

after_disconnect

after_disconnect=

attributes

attributes=

before_connect

before_connect=

before_disconnect

before_disconnect=

begin_trans

cancel

close

command_count

command_timeout

command_timeout=

commit

commit_trans

component_count => Phi::Component#component_count

components => Phi::Component#components

connect_options

connect_options=

connected

connected=

connected?

connection_string

connection_string=

connection_timeout

connection_timeout=

cursor_location

cursor_location=

data_sets

default_database

default_database=

event_handle

execute

execute_ex => RDB::Connection_ex#execute_ex

extend => Phi::Persistent#extend

get_field_names

get_procedure_names

in_transaction

in_transaction?

internal_query => RDB::Connection_ex#internal_query

internal_table => RDB::Connection_ex#internal_table

isolation_level

isolation_level=

keep_connection

keep_connection=

keep_connection?

login_prompt

login_prompt=

login_prompt?

lookup => RDB::Connection_ex#lookup

mode

mode=

name

name=

new_query

new_table

on_begin_trans_complete

on_begin_trans_complete=

on_commit_trans_complete

on_commit_trans_complete=

on_connect_complete

on_connect_complete=

on_disconnect

on_disconnect=

on_execute_complete

on_execute_complete=

on_info_message

on_info_message=

on_login

on_login=

on_rollback_trans_complete

on_rollback_trans_complete=

on_will_connect

on_will_connect=

on_will_execute

on_will_execute=

open

open_schema

prop_info => Phi::Component#prop_info

properties

provider

provider=

rec_count => RDB::Connection_ex#rec_count

rec_exist? => RDB::Connection_ex#rec_exist?

rollback

rollback_trans

select => RDB::Connection_ex#select

start_transaction

state

table_create => RDB::Connection_ex#table_create

table_drop => RDB::Connection_ex#table_drop

table_exist?

table_names

table_recreate => RDB::Connection_ex#table_recreate

transaction => RDB::Connection_ex#transaction

version

write_res_file => Phi::Component#write_res_file

Last modified:2007/09/19 13:48:23
Keyword(s):
References:[ext-rdb-RDB-constants] [ext-rdb-index] [コネクションクラス]