Aracılığıyla paylaş


Veri Kaynağı: Program aracılığıyla ODBC Veri Kaynağını Yapılandırma

Bu konu Açık Veritabanı Bağlanılabilirliği (ODBC) veri kaynağı adlarını programsal olarak nasıl yapılandırabileceğinizi anlatmaktadır.Bu, veri kaynaklarının adlarını belirtmek için kullanıcıyı açıkça ODBC Yöneticisi'ni veya diğer programları kullanmaya zorlamadan verilere erişme esnekliği sağlar.

Genellikle, kullanıcı ilişkili veritabanı yönetim sistemi (dbms) bu işlemi destekliyorsa, bir veri kaynağı oluşturmak için odbc Yöneticisi'ni çalıştırır.

ODBC Yöneticisi yoluyla bir Microsoft Access ODBC veri kaynağı oluştururken, iki seçenek sunulur: varolan bir .mdb dosyasını seçebilirsiniz veya yeni bir .mdb dosyası oluşturabilirsiniz.MFC ODBC uygulamanızdan .mdb dosyası oluşturmanın programlı hiçbir yolu yok.Bu yüzden uygulama bir Microsoft Access veri kaynağına (.mdb dosyası) veri koymayı gerektirirse, ihtiyaç duyduğunuzda kullanacağınız veya kopyaladığınız boş bir .mdb dosyası bulundurmak istemeniz muhtemeldir.

Ancak, birçok DBMS programlı veri kaynağı oluşturulmasına olanak sağlar.Bazı veri kaynakları veritabanları için dizin belirtimi korur.Yani, dizin veri kaynağıdır ve veri kaynağındaki her tablo ayrı bir dosyada depolanır (dBASE durumunda her tablo bir .dbf dosyasıdır).Microsoft Access ve SQL Server gibi, diğer ODBC veritabanlarının sürücüleri, bir veri kaynağı oluşturulmadan önce belirli bazı kriterlerin tamamlanmasını gerektirir.Örneğin, SQL Server ODBC sürücüsü kullanılırken, SQL Server kurulu bilgisayarınız olması gerekir.

SQLConfigDataSource Örneği

Aşağıdaki örnek Yeni EXcel Veri Kaynağı denilen yeni bir Excel veri kaynağı oluşturmak için :: SQLConfigDataSource ODC API işlevini kullanır:

SQLConfigDataSource(NULL,ODBC_ADD_DSN, "Excel Files (*.xls)", 
                   "DSN=New Excel Data Source\0" 
                   "Description=New Excel Data Source\0" 
                   "FileType=Excel\0" 
                   "DataDirectory=C:\\EXCELDIR\0" 
                   "MaxScanRows=20\0");

Veri kaynağının aslında bir dizin (C:\EXCELDIR) olduğunu unutmayın; bu dizinin var olması zorunludur.Excel sürücüsü, veri kaynakları gibi dizinler ve bireysel tablolar gibi dosyaları (.xls dosyası başına bir tablo) kullanır.

Tablo oluşturma hakkında daha fazla bilgi için bkz. Veri Kaynağı: Bir ODBC Veri Kaynağında Programlı Olarak Tablo Oluşturma.

Aşağıdaki bilgiler :: SQLConfigDataSource ODBC API işlevine geçirilmesi gereken parametreleri açıklar.::SQLConfigDataSource öğesini kullanmak için Odbcinst.h başlık dosyasını eklemeniz ve Odbcinst.lib içeri aktarma kitaplığını kullanmanız gerekir.Ayrıca, Odbccp32.dll (ya da 16 bit için Odbcinst.dll) çalışma zamanında yol içinde olmalıdır.

ODBC Yöneticisi'ni veya benzer bir yardımcı programını kullanarak bir ODBC veri kaynağı adı oluşturabilirsiniz.Ancak, bazen kullanıcının ayrı bir yardımcı program çalıştırmasını gerektirmeden erişim edinmek için doğrudan uygulamanızdan bir veri kaynağı adı oluşturmanız arzu edilir.

ODBC Yöneticisi (genellikle Denetim Masası'nda yüklüdür) Windows kayıt defterine (ya da 16 bit için Odbc.ini dosyasına) girişler ekleyerek yeni bir veri kaynağı oluşturur.ODBC Sürücü Yöneticisi veri kaynağı hakkında gerekli bilgileri almak için bu dosyayı sorgular.Kayıt defterine hangi bilgilerin konması gerektiğini bilmek, ona ::SQLConfigDataSource öğesine bir çağrı sağlamanız gerektiğinden önemlidir.

Her ne kadar, bu bilgiler :: SQLConfigDataSource kullanılmaksızın doğrudan kayıt defterine yazılabilse de, bunu gerçekleştiren herhangi bir uygulama, Sürücü Yöneticisi'nin verilerini korumakta kullandığı geçerli tekniğe güvenmektedir.ODBC Sürücü Yöneticisi'nin sonraki bir düzeltmesi veri kaynakları hakkında kayıt tutmayı farklı bir şekilde uygularsa, bu tekniği kullanan herhangi bir uygulama bozulur.Genellikle sağlandığında bir API işlevi kullanmanız önerilir.Örneğin, ::SQLConfigDataSource işlevini kullanırsanız, işlev Odbc.ini dosyasına veya kayıt defterine doğru şekilde yazdığından kodunuz 16 bitten 32 bite taşınabilir.

SQLConfigDataSource Parametreleri

Aşağıdaki öğe ::SQLConfigDataSource işlevinin parametrelerini açıklar.Bilgilerin büyük bölümü Visual C++ sürüm 1.5 ve sonrası ile birlikte verilen ODBC API Programlayıcı Referansı'ndan alınır.

ck4z6wwt.collapse_all(tr-tr,VS.110).gifİşlev Prototipi

BOOL SQLConfigDataSource(HWND hwndParent,UINT fRequest, LPCSTR lpszDriver, LPCSTR lpszAttributes);

ck4z6wwt.collapse_all(tr-tr,VS.110).gifNotlar

ck4z6wwt.collapse_all(tr-tr,VS.110).gifParametreler ve Kullanım

  • hwndParent
    Yeni veri kaynağı hakkında kullanıcıdan sağladığı ek bilgiyi oluşturan ODBC Sürücü Yöneticisinin veya belirli ODBC sürücüsünün her hangi bir iletişim kutusunun sahibi olarak belirtildiği pencere.lpszAttributes parametresi yeterli bilgi sağlamazsa bir iletişim kutusu belirir.HwndParent parametresi BOŞ olabilir.

  • lpszDriver
    Sürücü açıklaması.Bu, kullanıcılara fiziksel sürücü adı (DLL) yerine sunulan addır.

  • lpszAttributes
    "keyname=value" biçimindeki özniteliklerin listesi.Bu dizeler, listenin sonundaki iki ardışık null sonlandırıcıyla beraber null sonlandırıcılar tarafından ayrılır.Yeni veri kaynağı için kayıt içine işlenen bu öznitelikler öncelikle varsayılan sürücüye özel girişlerdir.Bu işleve ilişkin ODBC API başvurusunda belirtilmeyen önemli bir anahtar da yeni veri kaynağını belirten "DNS"dir ("veri kaynağı adı").Girişlerin geri kalanı yeni bir veri kaynağına ilişkin sürücüye özeldir.Sürücü yeni değerler için kullanıcıyı iletişim kutularıyla uyarabildiği için çoğu zaman tüm girişlerin desteklenmesi gerekmez.(Bunu yapmak için hwndParent değerini NULL olarak ayarlayın.) Kullanıcıya sorulmaması için varsayılan değerleri açık olarak sağlamak isteyebilirsiniz.

ODBC Yöneticisi'ni kullanarak IpszDriver parametresi için bir sürücünün tanımını belirlemek için

  1. ODBC Yöneticisi Çalıştırın.

  2. Ekle‘yi tıklatın.

Bu, yüklenen sürücülerin ve açıklamalarının listesini verir.Bu tanımı lpszDriver parametresi olarak kullanın.Açıklamada yer alıyorsa dosya adı uzantısı ve parantezler dahil olmak üzere "Excel Dosyaları (*.xls)" gibi tam açıklamayı kullanmanız gerektiğini unutmayın.

Alternatif olarak, "ODBC Drivers" (veya Odbcinst.ini'de [ODBC Drivers] bölümü) kayıt defteri anahtarı altında tüm sürücü girişlerinin bir listesini ve açıklamaları içeren kayıt defterini (veya 16 bit için, Odbcinst.ini dosyasını) inceleyebilirsiniz.

lpszAttributes parametresine ilişkin anahtar adları ve değerleri bulmanın bir yolu, zaten yapılandırılmış bir veri kaynağına (ODBC Yöneticisi tarafından yapılandırılmış veri kaynağı olabilir) ilişkin Odbc.ini dosyasını incelemektir.

lpszAttributes parametresi için anahtar adlarını ve değerleri bulmak için

  1. Windows Kayıt Defteri Düzenleyicisi'ni çalıştırın (veya 16 bit, Odbc.ini dosyasını açın).

  2. Aşağıdakilerden birini kullanarak ODBC veri kaynakları bilgilerini bulabilirsiniz:

    • 32 bit için, sol panodaki HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\ODBC Data Sources anahtarını bulun.

      Sağ bölmede form girişlerini listeler: "pub: reg_sz:<veri kaynağı adı>", <veri kaynağı adı> zaten kullanmayı düşündüğünüz sürücü için istenen ayarları ile yapılandırılmış bir veri kaynağıdır.İstediğiniz veri kaynağını, örneğin, SQL Server'ı seçin."pub:" dizesini izleyen öğeler lpszAttributes parametrenizde kullanılacak sırasıyla anahtar adı ve değeridir.

    • 16 bit için [<veri kaynağı adı>] tarafından işaretlenen Odbc.ini dosyasındaki bölümü bulabilirsiniz.

      Bu satırı takip eden satırlar "keyname=value" biçimindedir.Bunlar, tam da lpszAttributes parametresinde kullanılacak girişlerdir.

Kullanacağınız belirli bir sürücünün belgelerini incelemek isteyebilirsiniz.Sürücü için çevrimiçi Yardım içinde yararlı bilgiler bulabilirsiniz. Bu bilgilere ODBC Yöneticisi'ni çalıştırarak erişebilirsiniz.Bu Yardım dosyaları, Windows NT, Windows 3.1 veya Windows 95 için genellikle WINDOWS\SYSTEM dizinine yerleştirilir.

ODBC sürücünüz için çevrimiçi Yardım alma

  1. ODBC Yöneticisi Çalıştırın.

  2. Ekle‘yi tıklatın.

  3. Sürücü adını seçin.

  4. Tamam düğmesini tıklatın.

ODBC Yöneticisi o belirli sürücü için yeni bir veri kaynağı oluşturmak için bilgileri görüntülediğinde, Yardım'ı tıklatın.Bu, genellikle sürücünün kullanımı hakkında önemli bilgiler içeren, bu sürücünün Yardım dosyasını açar.

Ayrıca bkz.

Kavramlar

Veri Kaynağı (ODBC)