CDatabase::Open

wirtualne BOOL Otwarte ( LPCTSTR lpszDSN, BOOL bExclusive = Fałsz, BOOL bReadOnly = Fałsz, LPCTSTR lpszConnect = "ODBC;", BOOL bUseCursorLib = TRUE );
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

lpszDSN

Określa nazwę źródła danych — nazwa zarejestrowana z ODBC za pośrednictwem programu ODBC Administrator. Jeżeli określono wartość DSN w lpszConnect (w formie "DSN = lt; źródła danych >"), to nie może być określone ponownie w lpszDSN. W tym przypadku lpszDSN powinna być zerowa. W przeciwnym razie można przekazać NULL Jeśli chcesz przedstawić użytkownika ze źródłem danych okno dialogowe, w którym użytkownik może wybrać źródła danych. Aby uzyskać więcej informacji zobacz uwagi.

bExclusive

Nie są obsługiwane w tej wersji biblioteki klas. Obecnie potwierdzenia nie działa, jeśli ten parametr ma wartość TRUE. Źródła danych zawsze jest otwierana jako udostępnione (nie wyłącznie).

bReadOnly

Prawda , jeśli zamierzasz połączenie tylko do odczytu oraz zakazu aktualizacje do źródła danych. Wszystkie zależne zestawy rekordów dziedziczy ten atrybut. Wartością domyślną jest FALSE.

lpszConnect

Określa ciąg połączenia. Ciąg połączenia łączy informacje, ewentualnie łącznie z nazwa źródła danych, identyfikator użytkownika ważne źródło danych, ciąg uwierzytelniania użytkownika (hasło, jeśli źródło danych wymaga jednego) i innych informacji. Cały ciąg połączenia muszą być poprzedzane ciągu „ODBC; ” (wielkie lub małe litery). „ODBC;"ciąg jest używany do wskazania, że połączenia się ze źródłem danych ODBC; jest to zgodnooć górę podczas przyszłych wersji biblioteki klas może obsługiwać źródeł danych innych niż ODBC.

bUseCursorLib

TRUE , jeśli chcesz ODBC kursor biblioteki DLL do załadowania. Biblioteka kursorów maski niektórych funkcji podstawowego sterownika ODBC, skuteczne zapobieganie wykorzystywaniu zestawy dynamiczne (Jeśli sterownik obsługuje je). Tylko kursory obsługiwane, jeśli Biblioteka kursorów jest ładowany są statyczne migawek i kursory tylko do przodu. Wartością domyślną jest Prawda. Jeśli planujesz utworzenie obiektu recordset bezpośrednio z CRecordset bez wynikających z niej, nie należy załadować biblioteki kursora.

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.

Uwaga   Wywołanie funkcji członek OpenEx jest preferowanym sposobem połączenia się ze źródłem danych i zainicjować obiektu bazy danych.

Jeżeli parametry połączenia Open nie zawierają wystarczających informacji, aby utworzyć połączenie, sterownik ODBC otwiera okno dialogowe uzyskanie niezbędnych informacji od użytkownika. Po wywołaniu otwarte, Twój ciąg połączenia, lpszConnect, 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 zadzwonić, Otwórz uzyskanie informacji od użytkownika, takie jak hasło, następnie dodać te informacje do ciąg połączenia, który przechodzi do otwarcia. Lub możesz chcieć zapisać ciąg połączenia, które należy przekazać, więc może używać go przy następnym aplikacja wywołuje otwarte na 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ę, Otwórz generuje CDBException.

Przykład

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

/ / Connect obiektu
/ / źródła danych (bez hasła)
/ / połączenie ODBC, okno dialogowe
/ / zawsze pozostaną ukryte
m_dbCust.Open (_T ("MYDATASOURCE"), FALSE,
 nbsp;             WARTOŚĆ FALSE, _T („ODBC;UID = JOES "),

// ...Lub zapytanie użytkownika dla wszystkich
/ / Informacje o połączeniu
m_dbCust.Open (&NULL)

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

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

Index