質問: vpsにMySqlDBをを使っているものです。 某記事で【普通データべースに接続する場合はODBCかJDBCを使う】と聞きました。 なんとなく調べた結果ODBCがWindows版JDBCがJAVA版といった感じですが そもそもVPS内のmysqlを外部から参照する場合、これらがなくても、require(mysql)で出来てしまいますよね? セキュリティを強化してくれる通信フィルターかなとも思ったのですが、別途セキュリティ面は強化しないと意味もなさそうだし。。。 RLoginソフトを使って、ファイルの転送は出来ています。 どうしてそこまで、これらのODBCやJDBCが一般的と言われるのかわかりません。
回答: 各種のプログラムから接続する場合、データベースが異なると API が異なります。 Oracle 用の API は MySQL には使えませんし、逆もまたしかり。 これでは面倒なので、データベースとの接続をある程度共通化して扱えるドライバが考えだされました。これが ODBC です。 ODBC は共通の API と、各データベース固有の接続ドライバとで成り立っていて、データベースの差異を ODBC で吸収してくれます。 データベースを変えたとしても、接続文字列を変えて(あとは適切なドライバさえインストールしてあれば)しまえば使えます。 この仕組みを Java で実現したのが JDBC です。 最高のパフォーマンスを得ようとすれば各データベースベンダの提供するネイティブドライバ(Oracle では OCI とか)を使うことになるのですが、それによる移植性や汎用性の低下と、どちらを取るかという話ですね。