Aracılığıyla paylaş


CDatabase::OpenEx

Yeni oluşturulmuş başlatmak için bu üye işlev çağrısı CDatabase nesnesi.

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

Parametreler

  • lpszConnectString
    Bir odbc bağlantı dizesi belirtir.Bu veri kaynağı adının yanı sıra kullanıcı kimliği ve parola gibi diğer isteğe bağlı bilgileri içerir.Örneğin, "dsn = SQLServer_Source;UID = SA;pwd = abc123 "olası bağlantı dizesi.Geçirmek unutmayın null için lpszConnectString, veri kaynağı iletişim kutusundan bir veri kaynağı seçmek için kullanıcıya sorar.

  • dwOptions
    Aşağıdaki değerleri birleşimi belirten bit maskesi.Varsayılan değer 0'dır ve veritabanı olarak açılacak diğer bir deyişle paylaşılan yazma erişimi ile odbc İmleç Kitaplığı dll yüklenmeyecek ve sadece orada değilse, bağlantı kurmak için yeterli bilgi odbc bağlantı iletişim kutusu görüntülenir.

    • CDatabase::openExclusive sýnýf kitaplýðý'ın bu sürümünde desteklenmiyor.Veri kaynağı (özel olmayan) paylaşılan olarak her zaman açıktır.Şu anda, bu seçeneği belirlerseniz, bir onaylama işlemi başarısız olur.

    • CDatabase::openReadOnly veri kaynağı salt okunur olarak açın.

    • CDatabase::useCursorLib odbc İmleç Kitaplığı dll yüklenemedi.İmleç Kitaplığı (sürücü bunları destekliyorsa) etkin bir şekilde kümelere kullanımını engelleyen temel odbc sürücüsünün bazı işlevleri maskeler.İmleç Kitaplığı yüklü ise desteklenen tek imleçler statik anlık görüntüler ve salt ileri imleçler'dır.Doğrudan bir recordset nesnesi oluşturmak plan CRecordset kendisinden türetmek olmadan, bu, imleç kitaplığı yüklenmemelidir.

    • CDatabase::noOdbcDialog olup yeterli bağlantı bilgilerini sağlanan ne olursa olsun odbc bağlantı iletişim kutusunda görüntülenmez.

    • CDatabase::forceOdbcDialog her zaman odbc bağlantı iletişim kutusunu görüntüler.

Dönüş Değeri

Bağlantı başarıyla yapıldıktan, sıfır olmayan; Aksi halde 0 kullanıcı seçerse, daha fazla bağlantı bilgilerini soran bir iletişim kutusu iptal.Diğer durumlarda, çerçeve bir istisna atar.

Notlar

Bir recordset nesnesi oluşturmak için kullanmadan önce veritabanı nesnesi başlatılmalıdır.

lpszConnectString Parametresinde sizin OpenEx arama bağlantısı yapmak için yeterli bilgi içermiyor, ayarlanmamış koşuluyla, odbc sürücüsü kullanıcıdan gerekli bilgileri elde etmek için bir iletişim kutusu açar CDatabase::noOdbcDialog veya CDatabase::forceOdbcDialog , dwOptions parametresi.Aradığınızda OpenEx, bağlantı dizesi, lpszConnectString, özel olarak depolanır CDatabase object ve çağırarak kullanılabilir GetConnect üye işlevi.

İsterseniz, aramadan önce kendi iletişim kutusunu açabilirsiniz OpenEx kullanıcıdan bir parola gibi bilgileri almak ve bu bilgileri iletmek için bağlantı dizesi eklemek için OpenEx.Veya uygulama çağrıları sonraki yeniden şekilde geçmesi bağlantı dizesini zaman isteyebilirsiniz OpenEx , bir CDatabase nesnesi.

Bağlantı dizesi için birden çok oturum açma yetkilendirme düzeylerini kullanabilirsiniz (her biri için farklı bir CDatabase nesnesi) veya diğer veri kaynağına özgü bilgileri iletmek için.Bağlantı dizeleri hakkında daha fazla bilgi için bkz: Bölüm 6, odbc Programmer's Reference.

Örneğin, veritabanı yönetim SİSTEMİ'nin ana bilgisayar kullanılamıyorsa, bağlantı girişimi zaman aşımına olasıdır.Bağlantı girişimi başarısız olursa, OpenEx atan bir CDBException.

Örnek

// 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);

Gereksinimler

Başlık: afxdb.h

Ayrıca bkz.

Başvuru

CDatabase sınıfı

Hiyerarşi grafik

CDatabase::Open

CDatabase::CDatabase

CDatabase::Close

CDBException sınıfı

CRecordset::Open