Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

OracleDB SQLServer

ODBCドライバーとは?Windowsでの設定確認方法+OracleやSQLServerの例も併せて紹介

投稿日:2020年10月31日 更新日:

<目次>

(1) ODBCドライバとは?ODBCドライバーやJDBCとの違いについて
 (1-1) ODBCドライバとは?
 (1-2) ODBCドライバマネージャーとは?
 (1-3) Windowsでの設定確認方法

(1) ODBCドライバとは?ODBCドライバーやJDBCとの違いについて

(1-1) ODBCドライバとは?

ODBC機能の呼び出しを行うためのライブラリで、データベースへのSQLリクエストを連携し、結果をアプリケーションに返却します。その際にアプリからのリクエストがDBの規則に沿うように補正を行います。

例として、例として、OracleではODBCドライバはDLL群(ダイナミックリンクライブラリ)として提供されており、Windowsなら例えば「SQORA32.dll」や「MSODBCSQL17.dll」、Unixなら「libsqora.so.XX.1」(XXはバージョン)等の名称でOS内に配置されています。

(図111)ODBCドライバーの全体アーキテクチャイメージ

(図113)SQLServer × Windowsの例
SQLServerデータベースの「ODBCドライバ」にあたる「MSODBCSQL17.dll」がある様子です。

(図114)Oracle × Linuxの例
Oracleデータベースの「ODBCドライバ」にあたる「libsqora.so.XX.1」がある様子です。

(参考)

■System32とは
次に示す用途のファイルが格納されています。しかし、32bit時代のアプリを64bit用にコンパイルしても、ディレクトリが変わらずのままで、32bit用フォルダなのに64bit用のファイルが格納されている事も稀ではない。
・システムファイル
・プログラムが使用する「DLL」ライブラリ
・WindowsOSの一部の「.exe」ファイル

■SysWOW64とは
このフォルダは、64bitOS上で32bitのアプリケーションを動かすための機能を備えています。具体的にはアプリを動かす際に、正しい資産を見に行くようにリダイレクトする機能が付いています。

目次にもどる

(1-2) ODBCドライバマネージャーとは?

ODBCドライバをアプリケーションに代わってロード/アンロードする役割を果たします。
DLL等で提供されており、例としてWindowsなら「odbc32.dll」、Linuxなら「libodbc.so」等の名称でOS内に配置されており、透過的です(普段は無意識に使えてる人も多いのでは)。

(表)ODBCドライバーマネージャーの役割

DSN名の名前解決
ODBCドライバーのロード・アンロード
ODBC機能の呼び出し/ドライバーへの連携

(図145)SQLServer × Windowsの例

(1-3) Windowsでの設定確認方法

Windowsの場合はODBCドライバーやODBCドライバーマネージャーの設定を「ODBCデータソース」の画面から確認する事ができます。

(図112)上がODBCドライバーで下がドライバーマネージャー

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-OracleDB, SQLServer

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

JavaのJDBC接続でjava.sql.SQLRecoverableException: Closed Connectionが発生した時の解決メモ

(0)目次&概説 (1) エラー事象の概要  (1-1) エラーの発生状況  (1-2) エラーメッセージ全文 (2) エラーの原因 (3) エラーの対処方法  (3-1) エラーの修正内容  (3- …

Tomcatを使ったフォーム認証でユーザ情報をデータベース管理する方法

<目次> (1) Tomcatを使ったフォーム認証でユーザ情報をデータベース管理する方法  (1-1) 前提条件  (1-2) STEP1:context.xmlにコネクションプールを設定  (1-3 …

SQL Serverで起きる「ハンドシェイクエラー」の原因について

<目次> (1) SQL Serverで起きる「ハンドシェイクエラー」の原因について  (1-1) 発生状況・エラーメッセージ  (1-2) 原因  (1-3) 参考:SSPIとは? (1) SQL …

SQLでCASE文の結果をWHERE句に指定する方法およびコスト面の考察

本記事では、 ・SQLでCASE文の結果をWHERE句に指定する方法について記述します。 ・CASE文を使う場合のコストについて考察します。 (0)目次&概説 (1) NG例 (2) OK例&解説 ( …

Oracleデータベースのインデックスの有無による速度の差異を検証する

(0)目次&概説 (1) 検証概要 (2) 検証環境 (3) 検証準備  (3-1) サンプルデータ作成(インデックス無)  (3-2) サンプルデータ作成(インデックス有)  (3-3) 実行計画の …

  • English (United States)
  • 日本語
Top