‘MySQL’ タグのついている投稿

[MySQL] MySQLにODBCで接続する

2010 年 6 月 30 日 水曜日

MySQL ODBC ドライバのダウンロードとインストール

MySQL Connector/ODBCをMySQLのサイトからダウンロードします。ユーザ登録を促されますが、「No thanks, just take me to the downloads!」を押せば、ユーザ登録をしなくてもダウンロードできます。

http://dev.mysql.com/downloads/connector/odbc/#downloads

MySQL ODBC ダウンロード

MySQL ODBC ダウンロード

ODBC に接続先を設定する

インストールが終わったら、ODBCに接続先のMySQLの情報を設定します。
コントロールパネル → 管理ツール → データソース(ODBC) を選択して、ODBCの設定画面を開きます。

データソース(ODBC)

データソース(ODBC)

ユーザDNSの追加ボタンを押して、MySQL ODBC Driverを選択します。

ODBCの設定

ODBCの設定

接続先に関する情報を設定する画面が開くので、内容を入力ます。

ODBC MySQLの設定

ODBC MySQLの設定

設定項目 説明
Data Source Name データソース名。この接続に対する識別しになります。任意の文字列を指定してください。
Description 説明。入力しなくてもOK。
Server MySQLサーバのホスト名、またはIPアドレスを入力する
User MySQLのユーザ名
Password MySQLのパスワード
Database 接続するデータベース名

Testボタンを使って接続テストが可能です。
うまく接続できていれば、「Connection Successful」表示されるはずです。

これでODBCの設定は完了です。

ODBC MySQL 設定完了

ODBC MySQL 設定完了

OracleでMySQLのAutoIncrement

2006 年 1 月 21 日 土曜日

OracleでMySQLのauto_incrementを実現するにはシーケンスと呼ばれるものを利用します。

サンプル

以下の例ではtest_tblのidカラムをauto_incrementにしています。

CREATE TABLE test_tbl (id number, testdata varchar2(255));

CREATE SEQUENCE文でシーケンスを作成します。

CREATE SEQUENCE test_seq
START WITH 1
INCREMENT BY 1
NOMAXVALUE;

この状態で以下のようにnextvalを実行すると自動的にインクリメントされた値をテーブルに入れることができます。

INSERT INTO test_tbl (id, testdata) VALUES(test_seq.nextval, “testdata”);

もっとMySQLに近い動きにしたい人は以下のようにトリガーを仕掛けて、INSERT時に自動的に採番されるようにすると良いでしょう。

CREATE TRIGGER test_trigger
BEFORE INSERT ON test_tbl
FOR EACH ROW
BEGIN
SELECT test_seq.nextval INTO :new.id FROM dual;
END;

参考文献

プロとしてのOracle PL/SQL入門 改訂版 現場で使えるSQL―Oracle/SQL Server対応 (DB Magazine SELECTION) 基本SQLセミナー―MySQL 5.0 for Windows対応