Aracılığıyla paylaş


CDaoDatabase::Open

Yeni oluşturulmuş başlatmak için bu üye işlevi çağırmalıdır CDaoDatabase , varolan bir veritabanını temsil eden nesne.

virtual void Open( 
   LPCTSTR lpszName, 
   BOOL bExclusive = FALSE, 
   BOOL bReadOnly = FALSE, 
   LPCTSTR lpszConnect = _T( 
   "" ) 
);

Parametreler

  • lpszName
    Varolan bir Microsoft Jet adı olan bir dize deyimi (.mdb) veritabanı dosyası.Dosya adı uzantısı varsa, gereklidir.Evrensel Adlandırma Kuralı (unc) ağınız destekliyorsa, "\\\\MYSERVER\\MYSHARE\\MYDIR\\MYDB. gibi bir ağ yolu da belirtebilirsinizMDB".("\" C++ kaçış karakteri olduğundan çift ters eğik çizgi ve dize hazır bilgileri gerekiyor.)

    Kullanırken bazı önemli noktalar geçerlidir lpszName.Varsa bunu:

    • Özel durum türü bir mfc atar, başka bir kullanıcı tarafından özel kullanım erişimi için açık bir veritabanı başvurduğu CDaoException.Veritabanı kullanılamaz durumda olduğunu bildiğiniz kullanıcı izin vermek için bu özel durumu yakalamak.

    • Boş bir dizedir ("") ve lpszConnect "odbc;" ise kullanıcı bir veritabanı seçebilir böylece tüm kayıtlı odbc veri kaynağı adlarını listeleyen bir iletişim kutusu görüntülenir.odbc veri kaynaklarına doğrudan bağlantılar kaçınmanız gerekir; Ekli tablo kullanın.

    • Aksi halde varolan bir veritabanına veya geçerli odbc veri kaynağı adı, özel türde bir mfc atar değinmiyor CDaoException.

    [!NOT]

    dao hata kodları hakkında daha fazla bilgi için bkz: daoerr.H dosyası.İlgili bilgiler için "Yakalanabilir veri erişimi hatası" dao Yardım konusuna bakın.

  • bExclusive
    Bir Boolean değeri doğru veritabanı (paylaşılmayan) özel erişim için açılmış olup olmadığını ve yanlış veritabanını paylaşılan erişim için açılmış ise.Bu bağımsız değişkeni ihmal ederseniz, veritabanını paylaşılan erişim için açılmış.

  • bReadOnly
    Bir Boolean değeri doğru veritabanı salt okunur erişim için açılmış olup olmadığını ve yanlış veritabanı için okuma/yazma erişimiyle açmış ise.Bu bağımsız değişkeni ihmal ederseniz, veritabanında okuma/yazma erişimi için açılır.Tüm bağımlı kayıt kümesi bu özniteliği devralır.

  • lpszConnect
    Veritabanını açmak için kullanılan bir dize ifadesi.Bu dize odbc oluşturan bağımsız bağlayın.Kaynak dizesi sağlamak için özel ve salt okunur baðýmsýz deðiþkenleri saðlamalýsýnýz.Veritabanı bir Microsoft Jet veritabanında ise (.mdb), bu dize boş ("").Varsayılan değer sözdizimi — _t("") — Taşınabilirlik için ANSI yanı sıra Unicode oluşturur uygulamanızı sağlar.

Notlar

Açık veritabanı arka plandaki dao nesnesi ile ilişkilendirir.Veritabanı nesnesi başlatılmış olan kadar recordset, tabledef veya querydef nesneleri oluşturmak için kullanamazsınız.Açık veritabanı nesnesini ilişkili çalışma alanının veritabanları derlemesine nesneyi ekler.

Parametreleri aşağıdaki gibi kullanın:

  • Microsoft Jet açıyorsanız (.mdb) veritabanı, use lpszName parametresi ve boş bir dize için geçişi lpszConnect parametresi veya pass parola dizesi formunun ";pwd = parola "veritabanı parola korumalı ise (.mdb veritabanlarına sadece).

  • Bir odbc veri kaynağına açıyorsanız, geçerli bir odbc bağlantı dizesi içinde geçmesi lpszConnect ve boş bir dize lpszName.

İlgili bilgiler için dao Yardımı'nda "OpenDatabase yöntemine" konusuna bakın.

[!NOT]

ISAM veritabanları ve odbc veri kaynakları da dahil olmak üzere dış veritabanlarına erişilirken daha iyi performans için bir Microsoft Jet engine veritabanı dış veritabanı tablolarına Ekle önerilir (.mdb) yerine doğrudan veri kaynağına bağlanılıyor.

Ö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 türünde bir istisna atar CDaoException.

Kalan açıklamalar yalnızca odbc veritabanları için geçerlidir:

Veritabanına bir odbc veritabanına ve parametreleri olup sizin 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 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ı (belki de Windows Kayıt Defteri'nde) geçirmek için sonraki yeniden bağlantı dizesini zaman isteyebilirsiniz açık üzerinde bir CDaoDatabase nesnesi.

Bağlantı dizesi için birden çok oturum açma yetkilendirme düzeylerini kullanabilirsiniz (her biri için farklı bir CDaoDatabase nesnesi) veya diğer veritabanı özgü bilgileri iletmek için.

Gereksinimler

Başlık: afxdao.h

Ayrıca bkz.

Başvuru

CDaoDatabase sınıfı

Hiyerarşi grafik

CDatabase::CDatabase

CDatabase::Close