Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Açık Veritabanı Bağlantısı (ODBC), uygulamaların ODBC ile uyumlu veri kaynaklarındaki verilere erişmesini sağlayan bir Microsoft Win32 API'dir. Bu makalede ODBC'nin işlev çağrılarını işlemesi, tanıtıcıları yönetmesi, sürücülerle etkileşim kurması ve tanılama sağlaması açıklanmaktadır. Geliştiricilere ODBC'nin uygulamalar, Sürücü Yöneticisi ve veritabanı sürücüleri arasında nasıl çalıştığı hakkında daha net bir anlayış sağlar.
SQL Server Yerel İstemci ODBC sürücü başvurusu her ODBC işlevini belgelemiyor. Yalnızca bu işlevleri SQL Server Yerel İstemci ODBC sürücüsüne özgü parametreler veya davranışlarla belgeler.
SQL Server Yerel İstemci ODBC sürücüsü ODBC 3.51 belirtimine uygundur. Tam başvuru malzemeleri için Veri Erişimi ve Depolama Geliştirici Merkezi'nden Microsoft Veri Erişim Bileşenleri SDK'sını indirin veya ODBC Programcı Başvurusu'na bakın.
ODBC API'sinin çalışma şekli
ODBC, uygulamalar ve veritabanı sürücüleri arasında standartlaştırılmış bir arabirim sağlar. Uygulamanız bir ODBC işlevini çağırdığında, çağrı veri kaynağına ulaşmadan önce birkaç katmandan geçer. Bu mimariyi anlamak, daha verimli kod yazmanıza ve bağlantı sorunlarını gidermenize yardımcı olur.
ODBC tanıtıcı modeli
ODBC, durumu yönetmek için dört hiyerarşik tanıtıcı türü kullanır:
| Tanıtıcı türü | Amaç |
|---|---|
| Ortam (HENV) | Genel ODBC ayarları ve sürüm oluşturma |
| Bağlantı (HDBC) | Belirli bir veri kaynağına bağlantıyı temsil eder |
| Deyim (HSTMT) | SQL deyimlerini, parametrelerini ve sonuç kümelerini yönetir |
| Tanımlayıcı (HDESC) | Parametreler ve sütunlar için meta verileri depolar |
Sürücü yöneticisi ve sürücü etkileşimi
- Uygulama bir ODBC API çağrısı yapar.
- Driver Manager parametreleri doğrular ve çağrıyı iletir.
- Sürücü veri kaynağıyla etkileşim kurar.
- Sonuçlar Sürücü Yöneticisi'nin içinden uygulamaya geri akar.
İşlev çağrısı yaşam döngüsü
- Tanıtıcıları ayırma.
- Ortam veya bağlantı özniteliklerini ayarlayın.
- Bir veri kaynağına bağlanın.
- SQL deyimlerini hazırlama veya yürütme.
- Parametreleri veya sonuç sütunlarını bağlama.
- Satırları getirme.
- Serbest tutamaçlar.
Tanılama ve hata işleme
Aşağıdaki tanılama işlevlerini kullanın:
SQLGetDiagRecSQLGetDiagField
Tanılamalar ortam, bağlantı veya deyim tanıtıcıları için geçerli olabilir.
Unicode ve ANSI çağrıları karşılaştırması
ODBC iki tür işlev sağlar:
-
GIBI ANSI işlevleri
SQLExecDirectA -
Gibi Unicode işlevleri
SQLExecDirectW
Modern uygulamalar için Unicode API'leri kullanın.
İş parçacığı oluşturma ve havuza alma
- İş parçacığı güvenliği, uygulamanın sürücüyü ve Sürücü Yöneticisi'ni nasıl yapılandır olduğuna bağlıdır.
- Bağlantı ek yükünü azaltmak için her iki düzeyde de bağlantı havuzu oluşturmayı etkinleştirin.
ODBC API başvurusu
Aşağıdaki bölümler ODBC API işlevlerini göreve göre gruplandırmıştır. Her giriş, SQL Server Yerel İstemci sürücüsünün ayrıntılı başvuru sayfasına bağlanır.
Bağlantı ve veri kaynağı
SQL Server bağlantılarını kurmak, yapılandırmak ve yönetmek için bu işlevleri kullanın.
| İşlev | Description |
|---|---|
| Sqlconnect | DSN, kullanıcı kimliği ve parola kullanarak veri kaynağına bağlantı kurma |
| Sqldriverconnect | Sürücüye özgü anahtar sözcüklerle bağlantı dizesi kullanarak bağlanma |
| Sqlbrowseconnect | Bağlantı dizesi oluşturmak için bağlantı özniteliklerini etkileşimli olarak keşfedin |
| SQLConfigDataSource | Veri kaynağı adlarını (DSN) program aracılığıyla oluşturma, değiştirme veya silme |
| SQLDrivers | Tüm yüklü ODBC sürücülerini ve bunların özniteliklerini listeleme |
| Sqlgetconnectattr | Bağlantı özniteliğinin geçerli değerini alma |
| SQLSetConnectAttr | Zaman aşımları ve işlem yalıtımı gibi bağlantı davranışını yapılandırma |
SQL deyimlerini yürütme
SQL deyimlerini hazırlamak, yürütmek ve yönetmek için bu işlevleri kullanın.
| İşlev | Description |
|---|---|
| Sqlexecdirect | Hazırlık yapmadan bir SQL deyimini hemen yürütme |
| Sqlexecute | Önceden hazırlanmış bir SQL deyimini yürütme |
| SQLCancel | Devam eden deyim yürütmeyi iptal etme |
| SQLNativeSql | ODBC SQL söz dizimini sürücünün yerel SQL diyalektine çevirme |
| Sqlendtran | Bir bağlantı veya ortamda bir işlemi işleme veya geri alma |
Parametreleri ve sütunları bağlama
Uygulama değişkenlerini SQL parametrelerine ve sonuç kümesi sütunlarına bağlamak için bu işlevleri kullanın.
| İşlev | Description |
|---|---|
| Sqlbindparameter | Sql deyimi parametre işaretçisine uygulama arabelleği bağlama |
| Sqlbindcol | Sonuç kümesi sütununa uygulama arabelleği bağlama |
| Sqlparamdata | Yürütme sırasında veri gerektiren sonraki parametreyi alma |
| Sqlputdata | Deyim yürütme sırasında parametre verilerini öbekler halinde gönderme |
| Sqldescribeparam | Parametre işaretçisinin veri türünü ve boyutunu alma |
| SQLNumParams | Hazırlanmış bir deyimdeki parametre sayısını sayma |
Sonuçları getirme ve işleme
Sonuç kümelerinden veri almak ve sorgu sonuçlarını işlemek için bu işlevleri kullanın.
| İşlev | Description |
|---|---|
| Sqlfetch | Sonraki veri satır kümesini getirme ve ilişkili sütun değerleri döndürme |
| Sqlfetchscroll | Sonuç kümesinde mutlak veya göreli konumda bir satır kümesi getirme |
| Sqlgetdata | Tek bir ilişkisiz sütun veya öbekler halinde büyük veriler için veri alma |
| Sqlmoreresults | Bir deyim birden çok sonuç döndürdüğünde sonraki sonuç kümesine gitme |
| Sqlrowcount | INSERT, UPDATE veya DELETE deyimlerinden etkilenen satır sayısını alma |
| SQLCloseCursor | İmleci kapatma ve bekleyen sonuçları atma |
| Sqlgetcursorname | Deyimin imleciyle ilişkili adı alma |
Şemayı ve meta verileri bulma
Tablolar, sütunlar ve anahtarlar gibi veritabanı şema bilgilerini sorgulamak için bu işlevleri kullanın.
| İşlev | Description |
|---|---|
| Sqltables | Veri kaynağındaki tabloları, görünümleri ve tablo benzeri diğer nesneleri listeleme |
| Sqlcolumns | Belirtilen tablolar için sütunları ve bunların özniteliklerini listeleme |
| Sqlprimarykeys | Tablonun birincil anahtar sütunlarını alma |
| SQLForeignKeys | Bir tablo için yabancı anahtarları veya buna başvuran diğer tablolardaki yabancı anahtarları listeleme |
| Sqlspecialcolumns | Bir satırı benzersiz olarak tanımlayan veya otomatik olarak güncelleştiren sütunları tanımlama |
| SQLStatistics | Dizin bilgilerini ve tablo istatistiklerini alma |
| Sqlprocedures | Veri kaynağında kullanılabilen saklı yordamları listeleme |
| Sqlprocedurecolumns | Saklı yordamlar için giriş/çıkış parametrelerini ve sonuç sütunlarını açıklama |
Sütun ve sonuç kümesi meta verileri
Sonuç kümelerinin ve sütun özniteliklerinin yapısını incelemek için bu işlevleri kullanın.
| İşlev | Description |
|---|---|
| Sqldescribecol | Sonuç sütunu için sütun adını, türünü, boyutunu ve null atanabilirliğini alma |
| Sqlcolattribute | Sonuç kümesi sütununun belirli bir özniteliğini alma |
| Sqlnumresultcols | Sonuç kümesindeki sütun sayısını sayma |
| SQLGetTypeInfo | Veri kaynağı tarafından desteklenen SQL veri türlerini listeleme |
Ayrıcalıklar ve güvenlik
Veritabanı nesnelerinin izin bilgilerini almak için bu işlevleri kullanın.
| İşlev | Description |
|---|---|
| SQLTablePrivileges | Veri kaynağındaki tablolarda verilen ayrıcalıkları listeleme |
| Sqlcolumnprivileges | Tablonun belirli sütunlarında verilen ayrıcalıkları listeleme |
Ortam ve deyim öznitelikleri
ODBC ortamını ve deyim davranışını yapılandırmak için bu işlevleri kullanın.
| İşlev | Description |
|---|---|
| SQLSetEnvAttr | ODBC sürümü ve bağlantı havuzu gibi ortam özniteliklerini ayarlama |
| SQLGetStmtAttr | Deyim özniteliğinin geçerli değerini alma |
| SQLSetStmtAttr | İmleç türü ve sorgu zaman aşımı gibi deyim davranışını yapılandırma |
Tanımlayıcı
Gelişmiş parametre ve sütun işleme için tanımlayıcı kayıtlarını doğrudan işlemek için bu işlevleri kullanın.
| İşlev | Description |
|---|---|
| Sqlgetdescfield | Tanımlayıcı kaydından tek bir alan alma |
| SQLSetDescField | Tanımlayıcı kaydında tek bir alan ayarlama |
| Sqlsetdescrec | Tek bir çağrıyla tanımlayıcı kaydında birden çok alan ayarlama |
Tanılama ve sürücü bilgileri
Hata bilgilerini almak ve sürücü özelliklerini sorgulamak için bu işlevleri kullanın.
| İşlev | Description |
|---|---|
| Sqlgetdiagfield | Bir ortamdan, bağlantıdan veya deyimden tanılama alanı alma |
| Sqlgetınfo | Sürücü ve veri kaynağı özellikleri hakkında genel bilgi edinin |
| SQLGetFunctions | Sürücünün hangi ODBC işlevlerini desteklediğini belirleme |
Kaynak temizleme
Tanıtıcıları ve ücretsiz kaynakları serbest bırakmak için bu işlevleri kullanın.
| İşlev | Description |
|---|---|
| Sqlfreehandle | Ortam, bağlantı, deyim veya tanımlayıcı tutamacını serbest bırakma |
| Sqlfreestmt | Serbest deyim kaynakları, imleçleri kapatma veya parametreleri ve sütunları bağlamayı kaldırma |