Źródło danych: zarządzanie połączeniami (ODBC)
Ten temat dotyczy klas MFC ODBC.
W tym temacie opisano:
Jak skonfigurować źródło danych.
Wpływ środowiska wieloużytkownika na źródło danych i jego zestawy rekordów.
Jak odłączyć się od źródła danych.
Jak ponownie użyć obiektu CDatabase.
Nawiązywanie połączenia ze źródłem danych oznacza nawiązywanie komunikacji z usługą DBMS w celu uzyskania dostępu do danych. Po nawiązaniu połączenia ze źródłem danych z aplikacji za pośrednictwem sterownika ODBC sterownik wykonuje połączenie lokalnie lub przez sieć.
Możesz nawiązać połączenie z dowolnym źródłem danych, dla którego masz sterownik ODBC. Użytkownicy aplikacji muszą również mieć ten sam sterownik ODBC dla źródła danych. Aby uzyskać więcej informacji na temat redystrybucji sterowników ODBC, zobacz Redystrybucja składników ODBC do klientów.
Konfigurowanie źródła danych
Administrator ODBC służy do konfigurowania źródeł danych. Możesz również użyć administratora ODBC po instalacji, aby dodać lub usunąć źródła danych. Podczas tworzenia aplikacji możesz kierować użytkowników do administratora ODBC, aby zezwolić im na dodawanie źródeł danych lub utworzyć tę funkcję w aplikacji, wykonując bezpośrednie wywołania instalacji ODBC. Aby uzyskać więcej informacji, zobacz Administrator ODBC.
Możesz użyć pliku programu Excel jako źródła danych i musisz skonfigurować plik tak, aby był zarejestrowany i wyświetlany w oknie dialogowym Wybieranie źródła danych.
Aby użyć pliku programu Excel jako źródła danych
Skonfiguruj plik za pomocą administratora źródła danych ODBC.
Na karcie Plik DSN kliknij przycisk Dodaj.
W oknie dialogowym Tworzenie nowego źródła danych wybierz sterownik programu Excel, a następnie kliknij przycisk Dalej.
Kliknij przycisk Przeglądaj i wybierz nazwę pliku, który ma być używany jako źródło dat.
Uwaga
W menu rozwijanym może być konieczne wybranie pozycji Wszystkie pliki , aby wyświetlić pliki .xls.
Kliknij przycisk Dalej, a następnie kliknij przycisk Zakończ.
W oknie dialogowym Konfiguracja programu Microsoft Excel ODBC wybierz wersję bazy danych i skoroszyt.
Praca w środowisku multiużytkownika
Jeśli wielu użytkowników jest połączonych ze źródłem danych, mogą zmieniać dane podczas manipulowania nimi w zestawach rekordów. Podobnie zmiany mogą mieć wpływ na zestawy rekordów innych użytkowników. Aby uzyskać więcej informacji, zobacz Zestaw rekordów: jak zestawy rekordów aktualizują rekordy (ODBC) i transakcji (ODBC).
Uogólnianie parametrów połączenia
Kreatorzy używają domyślnej parametry połączenia do nawiązania połączenia ze źródłem danych. To połączenie służy do wyświetlania tabel i kolumn podczas tworzenia aplikacji. Jednak ta domyślna parametry połączenia może nie być odpowiednia dla połączeń użytkowników ze źródłem danych za pośrednictwem aplikacji. Na przykład źródło danych i ścieżka do jego lokalizacji mogą różnić się od tej używanej w tworzeniu aplikacji. W takim przypadku należy ponownie zaimplementować funkcję składową CRecordset::GetDefaultConnect w bardziej ogólny sposób i odrzucić implementację kreatora. Na przykład użyj jednej z następujących metod:
Zarejestruj parametry połączenia i zarządzaj nimi przy użyciu administratora ODBC.
Edytuj parametry połączenia i usuń nazwę źródła danych. Platforma dostarcza odBC jako źródło danych; w czasie wykonywania odBC wyświetla okno dialogowe z prośbą o nazwę źródła danych i wszelkie inne wymagane informacje o połączeniu.
Podaj tylko nazwę źródła danych. W razie potrzeby ODBC prosi o podanie identyfikatora użytkownika i hasła. Na przykład przed uogólnieniem parametry połączenia wygląda następująco:
CString CApp1Set::GetDefaultConnect() { return "ODBC;DSN=afx;Trusted_Connection=Yes;"; }
Ten parametry połączenia określa zaufane połączenie, które używa zintegrowanych zabezpieczeń systemu Windows NT. Należy unikać kodowania hasła lub określania pustego hasła, ponieważ powoduje to poważne osłabienie zabezpieczeń. Zamiast tego możesz nadać
GetDefaultConnect
nowe parametry połączenia, aby wysyłać zapytania dotyczące identyfikatora użytkownika i hasła.// User must select data source and supply user ID and password: return "ODBC;"; // User ID and password required: return "ODBC;DSN=mydb;"; // Password required (myuserid must be replaced with a valid user ID): return "ODBC;DSN=mydb;UID=myuserid;"; // Hard-coded user ID and password (SECURITY WEAKNESS--AVOID): return "ODBC;DSN=mydb;UID=sa;PWD=777;";
Nawiązywanie połączenia z określonym źródłem danych
Aby nawiązać połączenie z określonym źródłem danych, źródło danych musi już zostać skonfigurowane z administratorem ODBC.
Aby nawiązać połączenie z określonym źródłem danych
Konstruowanie
CDatabase
obiektu.Wywołaj funkcję
OpenEx
lubOpen
składową.
Aby uzyskać więcej informacji na temat określania źródła danych, jeśli jest to coś innego niż określony za pomocą kreatora, zobacz CDatabase::OpenEx lub CDatabase::Open w dokumentacji MFC.
Odłączanie od źródła danych
Przed wywołaniem funkcji składowej Close
CDatabase
programu należy zamknąć wszystkie otwarte zestawy rekordów. W zestawach rekordów skojarzonych z obiektem CDatabase
, który chcesz zamknąć, wszystkie oczekujące AddNew
instrukcje lub Edit
zostaną anulowane, a wszystkie oczekujące transakcje zostaną wycofane.
Aby odłączyć się od źródła danych
Wywołaj
CDatabase
funkcję elementu członkowskiego Close obiektu.Zniszcz obiekt, chyba że chcesz go użyć ponownie.
Ponowne tworzenie obiektu CDatabase
Można ponownie użyć CDatabase
obiektu po odłączeniu się od niego, niezależnie od tego, czy używasz go do ponownego nawiązywania połączenia z tym samym źródłem danych, czy do nawiązywania połączenia z innym źródłem danych.
Aby ponownie użyć obiektu CDatabase
Zamknij oryginalne połączenie obiektu.
Zamiast niszczyć obiekt, ponownie wywołaj funkcję lub
OpenEx
Open
składową.
Zobacz też
Źródło danych (ODBC)
Źródło danych: określanie schematu źródła danych (ODBC)
Klasa CRecordset