Aracılığıyla paylaş


CDatabase::Open

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

virtual BOOL Open(
   LPCTSTR lpszDSN,
   BOOL bExclusive = FALSE,
   BOOL bReadOnly = FALSE,
   LPCTSTR lpszConnect = _T("ODBC;"),
   BOOL bUseCursorLib = TRUE 
);

Parametreler

  • lpszDSN
    Veri kaynağı adı belirtir — bir ad ile odbc odbc Yöneticisi programı aracılığıyla kayıtlı.dsn değer belirtilirse lpszConnect (formunda "dsn = < veri kaynağı >"), yeniden belirtilmemeli lpszDSN.Bu durumda, lpszDSN olması gereken null.Aksi halde, pass null kullanıcı veri kaynağını seçebilir veri kaynağı içeren bir iletişim kutusu kullanıcıya sunmak istiyor.Daha fazla bilgi için Açıklamalar'a bakın.

  • bExclusive
    Sınıf kitaplığı bu sürümünde desteklenmiyor.Bu parametre ise şu anda bir onaylama işlemi başarısız doğru.Veri kaynağı (özel olmayan) paylaşılan olarak her zaman açıktır.

  • bReadOnly
    GERÇEK salt okunur ve veri kaynağına güncelleştirmeyi önlemek için bağlantı düşünüyorsanız.Tüm bağımlı kayıt kümesi bu özniteliği devralır.Varsayılan değer yanlış.

  • lpszConnect
    Bağlantı dizesini belirtir.Bilgi, büyük olasılıkla bir veri kaynağı adını veri kaynağı, kullanıcı kimlik doğrulama dizesi (bir veri kaynağı gerektiriyorsa, parola) ve diğer bilgileri geçerli bir kullanıcı kimliği de dahil olmak üzere bağlantı dizesini birleştirir.Bütün bağlantı dizesi "odbc;" dizesiyle eklenmelidir (büyük veya küçük harf)."odbc;" dizesi bir odbc veri kaynağına; bağlantı olduğunu belirtmek için kullanılır sınıf kitaplığı gelecekteki sürümlerinde olmayan odbc veri kaynaklarını desteklemiyor olabilir, bu yukarı doğru uyumluluk için olur.

  • bUseCursorLib
    GERÇEK yüklenecek odbc İmleç Kitaplığı dll istiyorsanız.İ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.Varsayılan değer doğru.Doğrudan bir recordset nesnesi oluşturmak plan CRecordset kendisinden türetmek olmadan, bu, imleç kitaplığı yüklenmemelidir.

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.

[!NOT]

Arama OpenEx üye işlevi olan bir veri kaynağına bağlanmak ve veritabanı nesnesini başlatmak için tercih edilen yöntemidir.

Parametreleri kendi açık çağrısı bağlantı yapmak için yeterli bilgi içermiyor, odbc sürücüsü kullanıcıdan gerekli bilgileri elde etmek için bir iletişim kutusu açar.Aradığınızda açık, bağlantı dizesi, lpszConnect, özel olarak depolanır CDatabase object ve çağırarak kullanılabilir GetConnect üye işlevi.

İsterseniz, aramadan önce kendi iletişim kutusunu açabilirsiniz açık kullanıcıdan bir parola gibi bilgileri almak için daha sonra bu bilgileri iletmek için bağlantı dizesini ekleyin açık.Veya uygulama çağrıları sonraki yeniden şekilde geçmesi bağlantı dizesini zaman isteyebilirsiniz açık üzerinde 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 5'te Windows SDK.

Ö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, açık atan bir CDBException.

Örnek

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

if (bDefault)
{
   // Connect the object to a data source (no password)
   // the ODBC connection dialog box will always remain hidden
   m_dbCust.Open(_T("MFC_ODBCTest"), FALSE, FALSE, _T("ODBC;UID=JOES"));
}
else
{
   // ...Or, query the user for all connection information
   m_dbCust.Open(NULL);
}

Gereksinimler

Başlık: afxdb.h

Ayrıca bkz.

Başvuru

CDatabase sınıfı

Hiyerarşi grafik

CDatabase::OpenEx

CDatabase::CDatabase

CDatabase::Close

CDBException sınıfı

CRecordset::Open