次の方法で共有


CDatabase::OpenEx

CDatabase、新しく生成されたオブジェクトを初期化するには、このメンバー関数を呼び出します。

virtual BOOL OpenEx( 
   LPCTSTR lpszConnectString, 
   DWORD dwOptions = 0  
);

パラメーター

  • lpszConnectString
    ODBC 接続文字列を指定します。これは、ユーザー id とパスワードなどのデータ ソース名、またはそのほかの情報が含まれます。たとえば、「; DSN=SQLServer_SourceUID=SA; PWD=abc123 は」できる接続文字列です。lpszConnectStringの null を渡す場合は、データ ソースのダイアログ ボックスは、ユーザーにデータ ソースを選択するように求めることに注意してください。

  • dwOptions
    次の値の組み合わせを指定するビットマスク。既定値は 0 であり、ODBC カーソル ライブラリ DLL は読み込まれませんデータベースが書き込みアクセスと共有として開くことを意味しますが、接続するために十分な情報がない場合にのみ ODBC 接続]ダイアログ ボックスが表示されます。

    • クラス ライブラリのこのバージョンではサポートされなくCDatabase::openExclusive。データ ソースは、共有として常に開きます (含まれません)。現在、アサーションはこのオプションを指定すると失敗します。

    • CDatabase::openReadOnly が読み取り専用としてデータ ソース。

    • CDatabase::useCursorLib の読み込み ODBC カーソル ライブラリ DLL。カーソル ライブラリは (ドライバーがパラメーターをサポートする場合) 効果的にダイナセットを使用しない基になる ODBC ドライバーの機能を、マスク。カーソル ライブラリを読み込むようにサポートされているカーソルは静的なスナップショット、および前方向カーソルです。派生に CRecordset からレコードセット オブジェクトを直接作成する場合は、カーソル ライブラリを読み込むことはできません。

    • CDatabase::noOdbcDialog は十分な接続情報が指定されているかどうか ODBC 接続のダイアログ ボックスを、にも表示されません。

    • 常 に表示CDatabase::forceOdbcDialog の ODBC 接続のダイアログ ボックスです。

戻り値

接続が正常に行われた場合は、; はダイアログ ボックスを名前付き場合より多くの接続情報を呼び出す場合は、ユーザーが[キャンセル]をクリックした場合は 0。それ以外の場合、フレームワークは例外をスローします。

解説

データベース オブジェクトは、レコードセット オブジェクトの構築に、使用する前に初期化する必要があります。

接続を作成するに OpenEx の呼び出しの lpszConnectString のパラメーターに十分な情報を含んでいる ODBC ドライバーは dwOptions のパラメーターの CDatabase::noOdbcDialog かを設定しなかった場合 CDatabase::forceOdbcDialog ユーザーからの必要な情報を取得するためのダイアログ ボックスを開きます。OpenExを呼び出す場合は、接続文字列、lpszConnectStringは CDatabase のオブジェクトで、プライベートに格納され、GetConnect のメンバー関数を呼び出すことによって使用できます。

望めば、ユーザーから情報を、パスワードなど取得するに OpenEx を呼び出します。次に、を OpenExに渡される接続文字列への情報を追加する前に、独自のダイアログ ボックスを開くことができます。またはに渡すために次 CDatabase のオブジェクトのアプリケーションの呼び出しも再利用できます OpenEx 時接続文字列を保存する場合があります。

また、ログインの承認 ( CDatabase の別のオブジェクトの各) の複数のレベルの接続文字列を使用する場合は、データ ソース固有の情報を持つことができます。接続文字列に関する詳細については、" *ODBC Programmer's Reference "*の" "を参照してください。6 番

これは、たとえば、DBMS のホストが利用できない場合がタイムアウト接続の試みにできます。接続の試みに失敗すると、OpenExCDBExceptionをスローします。

使用例

// m_dbCust is a CDatabase object embedded in a CDocument class.

// Connect the object to a read-only data source where
// the ODBC connection dialog box will always remain hidden
m_dbCust.OpenEx(_T("DSN=MFC_ODBCTest;UID=JOES"),
   CDatabase::openReadOnly | CDatabase::noOdbcDialog);

必要条件

Header: afxdb.h

参照

関連項目

CDatabase クラス

階層図

CDatabase::Open

CDatabase::CDatabase

CDatabase::Close

CDBException クラス

CRecordset::Open