ODBCデータソースには、ターゲットデータベース(Salesforce.comなど)とそれに接続するために必要なODBCドライバー(Salesforce.com ODBCドライバーなど)の接続の詳細が格納されます。システムデータソースは、すべてのユーザーが利用できます。ユーザーデータソースは特定のユーザーに固有です。
特定のユーザーのデータソースを作成すると、そのユーザーのみがそのデータソースに接続できます。ユーザーデータソースを使用すると、データベースへのアクセスを制御できます。たとえば、UserA用とUserB用の2つのデータソースを作成し、それぞれが異なる役割固有のログインでデータベースに接続することができます。 UserAとUserBのデータベースへのアクセスは、特定のデータベースログインによって監視されます。
このブログによって提起された最初の質問に答えて、ユーザーデータソースを使用できるかどうかを決定するのは、ODBCドライバーではなくアプリケーションです。 (私たちのODBC-ODBC Bridge製品は、ODBCドライバーであると同時にアプリケーションでもあります。これについては、ブログの後半で説明します。)
ユーザーデータソースを構成した後、それに接続する機会が表示されない場合(つまり、GUIベースのアプリケーションの場合、使用可能なデータソースのリストにない場合)、または「データソースが見つかりません」というエラーが発生する場合、アプリケーションはユーザーデータソースをサポートしていません。この理由の1つは、アプリケーションが、別のユーザーのリソースにアクセスできない特定のアカウントでサービスとして実行される場合です。たとえば、SQL Serverがローカルシステムアカウントで実行されている場合、ユーザーデータソースにアクセスできません。このため、ODBCベースのリンクサーバーを作成する場合にのみシステムデータソースを使用できます。
ユーザーデータソースがWindowsアプリケーションで使用可能なデータソースのリストにない場合は、間違ったバージョンのODBCデータソースアドミニストレーターで構成した可能性もあります。 64ビットバージョンのODBCデータソースアドミニストレータでデータソース(システムまたはユーザー)を構成し、アプリケーションが32ビット(またはその逆)の場合、データソースは一覧表示されません。 Windows検索機能で「32ビットODBCデータソース」または「64ビットODBCデータソース」のいずれかを検索すると、データソースを構成しているアプリケーションアーキテクチャがわかります。
ODBC-ODBCブリッジ
ODBC-ODBCブリッジは、クライアントサーバー製品です。クライアント部分はODBCドライバーであるため、ODBC-ODBCブリッジクライアントのユーザーデータソースを構成できます。サーバー部分は、サービスとして実行され、ユーザーデータソースをサポートしないODBCアプリケーションです。