データベースへの接続の際には、ODBCドライバに接続情報を与えてDSN(データソースネーム)として登録して利用する場合と、DSN情報に依らずに利用する場合とがある。
プログラムからのデータベースへの接続方法はいろいろある。最近、OLEDBを使ったADO接続について、実務でも必要だったため調べたが、接続方法の種類は多い。その中でも、ODBC/DNSを使った接続方法は歴史が古い。
この中でもDNSを使う/使わない、という観点でいえば、経験上DSNを使わない方が利便性が高かった。クライアント側にDSNの設定が要らないからだ。
どちらの方法でも、データベースの接続先を変える際、プログラムを入れ替える、環境ファイルを書き換える等の方法で可能であるので差異はない。
しかし、接続するデータベースが変更になったり追加されたりした場合に、クライアント側のDSNに設定が必要か否か、という手間の差が出てくる。この手間の差が違う。
DSNの情報はレジストリに書かれている。レジストリに追加するのはいい。しかし
・DSNの登録情報を手で入力するなら手間がかかるうえ、接続情報がバレバレである。
・コマンドでDNS情報をレジストリに書き込む場合、テキストを開けばやはり接続情報はバレバレである。ただし、経験上設定がうまくいく場合と走でない場合がある・・。
・ばれないようにプログラムを配布するのも、手間である。
設定が要らなければそういうことを考えなくてよい。
多くのクライアントからサーバーアクセスが必要な場合は、上記も考慮に入れるとよいだろう。
ただし、当たり前の話であるが、クライアントから直接データベースにアクセスしないもの、クライアントからはリクエストのみでデータベースへのアクセスがサーバー側に閉じている場合は、この限りではない。
プログラムからのデータベースへの接続方法はいろいろある。最近、OLEDBを使ったADO接続について、実務でも必要だったため調べたが、接続方法の種類は多い。その中でも、ODBC/DNSを使った接続方法は歴史が古い。
この中でもDNSを使う/使わない、という観点でいえば、経験上DSNを使わない方が利便性が高かった。クライアント側にDSNの設定が要らないからだ。
どちらの方法でも、データベースの接続先を変える際、プログラムを入れ替える、環境ファイルを書き換える等の方法で可能であるので差異はない。
しかし、接続するデータベースが変更になったり追加されたりした場合に、クライアント側のDSNに設定が必要か否か、という手間の差が出てくる。この手間の差が違う。
DSNの情報はレジストリに書かれている。レジストリに追加するのはいい。しかし
・DSNの登録情報を手で入力するなら手間がかかるうえ、接続情報がバレバレである。
・コマンドでDNS情報をレジストリに書き込む場合、テキストを開けばやはり接続情報はバレバレである。ただし、経験上設定がうまくいく場合と走でない場合がある・・。
・ばれないようにプログラムを配布するのも、手間である。
設定が要らなければそういうことを考えなくてよい。
多くのクライアントからサーバーアクセスが必要な場合は、上記も考慮に入れるとよいだろう。
ただし、当たり前の話であるが、クライアントから直接データベースにアクセスしないもの、クライアントからはリクエストのみでデータベースへのアクセスがサーバー側に閉じている場合は、この限りではない。