メイン

Database アーカイブ

2005年12月01日

Oracle無償版年内リリース?

情報ソースはこちら

SQL Serverも無償版があるというし、ついにOracleもですか。

学習目的には喜ばしい限り。

2005年12月16日

Oracleクライアントとeclipse

Oracleクライアントを入れたらeclipseが立ち上がらなくなった場合

JDKのパスをoracleのJDKに書き換えているのが原因。

対策としてはeclipseの起動オプションでJREを指定してあげる。

C:\work\eclipse\eclipse.exe -vm C:\j2sdk1.4.2_05\bin\javaw

2006年10月11日

MySQLAdminを入れてみる

 WebからDBの管理ができるツールphpMyAdminをいれて少しでもMySQLに慣れようという目論見

でまずはMySQLのパスワードを設定する(Vineのバイナリインストールだと初期rootパスワードはなし)

$ mysqladmin -u root password 'xxxxxx'

一度設定したら次からは変更するのにもパスワードが必要になる。当然といえば当然だ。

$ mysqladmin -u root password 'xxxxxx' -p

MySQLの設定がすんだら次はphpMyAdminの設定だ

まずはパスワードなどを保持するconfig.inc.phpをコピーして作成し、

$cfg['Servers'][$i]['controluser'] = 'root';
$cfg['Servers'][$i]['controlpass'] = 'xxxx';

を設定してアクセスしてみると「設定ファイルは今は秘密パスフレーズを必要とします」のエラー

でもう一度config.inc.phpをみてみると

$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
ここを埋めないといけないわけなので、rootのパスワードを入れる。

そしれログイン画面が出てきたのでここでもパスワード?ってことはパスワードの設定は不要なわけで、 結局設定はblowfish_secretだけでよかったということになる。

無事利用可能になった。当然こういった管理ツールはApacheの設定でアクセス制限をかけておくべき。

 

2007年08月23日

通常はINSERT主キーが存在するときはUPDATEしたいときは?

いちいちIF文で主キーの存在チェックをしてupdateとinsertを切り替えるなんてめんどくさくてやってられるか!ということでそんな命令がないか調べてみた。

するとOracleにはmerge intoという命令があるらしい。MySQLはreplace構文がある。しかしながらこれ以外のDBについては似た機能を持つものはないようだ。なにをかくそうSQLServerでこの機能が欲しかったのだが・・・orz

2007年10月04日

UNIONとUNION ALLの違い

初歩レベルではあるが重要なこと

UNIONは重複レコードをマージする。UNION ALLは結合対象のすべてのレコードをそのままをつなげる。

パフォーマンス的にはUNION ALLが何もしない文はやい。

2008年07月16日

INSERT ~ SELECT

駆け出しの頃に作った家計簿アプリ。

データベースの設計が甘く、なんと主キーがない(笑)というわけで主キーを追加して作り直したが、 その時に既存のテーブルから新しいテーブルに移す作業が発生した。

この時はINSERT INTO 移行先テーブル名 (列1、列2) select 列1、列2 from 移行元テーブル名とすればよい

調べればすぐわかることだが、忘れがちなのでアップしておく

2008年10月02日

Oracle 10g Express Edition on CentOS5

毎度おなじみのOracle Express Editionのインストール

今動いているサーバはメモリが1Gあるので常用目的で入れてみる(これまでは入れるだけで放置ばかりだった)

OTNのUSAからrpmファイルを取得し、
rpmをそのままインストールすると下記エラーとなるので注意

エラー: 依存性の欠如:
libaio >= 0.3.96 は oracle-xe-10.2.0.1-1.0.i386 に必要とされています

# yum install libaio
# yum install bc
でlibaioを入れておく。入っている場合は当然不要。さらにbcコマンドが必要なので(最小インストールだから入ってないのかも)これも入れる

# rpm -Uvh oracle-xe-10.2.0.1-1.0.i386.rpm

おそらくインストールはすぐに終わるだろう。そしたらポート番号やパスワードの設定

続きを読む "Oracle 10g Express Edition on CentOS5" »

2009年04月20日

サロゲートキー

主キーに意味のない連番をつかうことをサロゲートキーというらしい。

対するはナチュラルキー(業務キー)ということ

ナチュラルキーの例。

顧客コードとして、その顧客が合併などにより二つの顧客コードが混じる時に不都合が生じる。

上記のような変更に強いのでサロゲートキーがお勧めというわけ

サロゲートキー

主キーに意味のない連番をつかうことをサロゲートキーというらしい。

対するはナチュラルキー(業務キー)ということ

ナチュラルキーの例。

顧客コードとして、その顧客が合併などにより二つの顧客コードが混じる時に不都合が生じる。

上記のような変更に強いのでサロゲートキーがお勧めというわけ

2009年05月28日

UnsatisfiedLinkError

Oracleのociドライバーを利用して接続しようとした時に出たエラー

JNIを使っている時にライブラリとリンクが取れないというエラー

今回の根本原因はWEB-INF/libにもoracleドライバーが存在してそちらが読まれてしまって、 ociドライバー用の読み込みが走らなかったのが原因。

2009年09月24日

H2 DatabaseにODBC接続するにはPosgresのODBCドライバーを使う

省メモリで動くのでローカル開発につかっているH2 Database

なぜかODBCの接続設定がPotgresの設定になっていたので気になって調べてみたら、一年ぐらい前から独自のODBCドライバの開発をやめてPotgresのODBCドライバに相乗りする形になったそうな。

どうせならOracle含め全部統一してほしい。などと無茶な妄想をしてみる。

2010年01月30日

MySQLでテーブルをCSV出力する

select * from テーブル名 into outfile "/var/tmp/ファイル名" FIELDS TERMINATED BY ',';

 

About Database

ブログ「技術メモ」のカテゴリ「Database」に投稿されたすべてのエントリーのアーカイブのページです。過去のものから新しいものへ順番に並んでいます。

前のカテゴリはCF-R3です。

次のカテゴリはHardwareです。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。