CDatabase::OpenEx

wirtualne BOOL OpenEx (LPCTSTR lpszConnectString, DWORD dwOptions = 0 );
rzut (CDBException, CMemoryException);

Wartość zwracany

Niezerowa, jeśli połączenie jest ustanawiane, pomyślnie; w przeciwnym razie 0, jeśli użytkownik wybierze anulować, gdy przedstawione okno dialogowe z prośbą o więcej informacji o połączeniu. We wszystkich innych przypadkach ramy zgłasza wyjątek.

Parametry

lpszConnectString

Określa ODBC łączenia ciągów. Obejmuje to nazwa źródła danych, a także inne informacje opcjonalne, takie jak identyfikator użytkownika i hasło. Na przykład "DSN = SQLServer_Source;UID = SA;PWD = abc123 "jest ciąg połączenia możliwe. Należy zauważyć, że jeśli przekażemy NULL dla lpszConnectString, pojawia się okno dialogowe źródła danych będzie monitował użytkownika o wybierz źródło danych.

dwOptions

Maska bitowa, która określa kombinacji następujących wartości. Wartością domyślną jest 0, co oznacza, że baza danych zostanie otwarta jako udostępniane z dostępem do zapisu, DLL Biblioteka kursorów ODBC nie zostanie załadowana, a okno dialogowe połączenie ODBC będzie wyświetlana tylko wtedy, gdy nie ma wystarczających informacji, aby nawiązać połączenie.

Uwagi

Wywołanie tej funkcji członek zainicjować obiektu CDatabase nowo zbudowanych. Obiekt bazy danych musi zostać zainicjowany przed użyciem go do konstruowania obiektu recordset.

Jeśli parametr lpszConnectString w Rozmowa OpenEx nie zawiera wystarczających informacji do nawiązania połączenia, sterownik ODBC otwiera okno dialogowe uzyskanie niezbędnych informacji od użytkownika, pod warunkiem mają nie zestawu CDatabase::noOdbcDialog lub CDatabase::forceOdbcDialog w parametrze dwOptions . Podczas wywoływania OpenExciągu połączenia, lpszConnectString, jest przechowywany w obiekcie CDatabase i jest dostępny przez wywołanie funkcji członek GetConnect.

Jeśli chcesz, możesz otworzyć własne okno dialogowe przed wywołania OpenEx uzyskanie informacji od użytkownika, takie jak hasło, a następnie dodaje te informacje do ciąg połączenia, który przechodzi do OpenEx. Lub możesz chcieć zapisać ciąg połączenia, które należy przekazać, dzięki czemu można go ponownie przy następnym aplikacja wywołuje OpenEx w obiekcie CDatabase.

Można również użyć ciąg połączenia dla wielu poziomów autoryzacji logowania, (każdego innego obiektu CDatabase ) lub do przekazywania innych informacji specyficznych dla źródła danych. Aby uzyskać więcej informacji dotyczących łączenia ciągów, zobacz rozdział 5 w ODBC SDK Programmer's Reference.

Istnieje możliwość próby połączenia się limit czasu, jeśli na przykład DBMS host jest niedostępny. Jeśli próba połączenia nie powiedzie się, OpenEx generuje CDBException.

Przykład

/ / Osadzić obiekt CDatabase
/ / w klasie dokumentu
CDatabase m_dbCust;

/ / Connect obiekt / / Jeżeli źródło danych tylko do odczytu
/ / połączenie ODBC, okno dialogowe
/ / zawsze pozostaną ukryte
m_dbCust.OpenEx (_T ("DS&N = MYDATASOURCE;UID = JOES "),
 nbsp;               CDatabase::openReadOnly |
                 CDatabase::noOdbcDialog)

Omówie&nie CDatabase |nbsp; Klasa członków | Wykres hierarchii

Zobacz też CDatabase::Open, CDatabase::CDatabase, CDatabase::Close, CDBException, CRecordset::Open

Index