SQL Statement (ODBC) Oluşturma

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform System (PDW)

ODBC uygulamaları, veritabanı erişimlerinin neredeyse tamamını Transact-SQL ifadeleri çalıştırarak gerçekleştirir. Bu ifadelerin biçimi, başvuru gereksinimlerine bağlıdır. SQL ifadeleri aşağıdaki şekillerde oluşturulabilir:

  • Sabit kodlanmış

    Bir uygulama tarafından sabit bir görev olarak gerçekleştirilen statik ifadeler.

  • Çalışma zamanında inşa edilmiştir

    SQL ifadeleri, çalıştırma zamanında oluşturulmuş ve kullanıcının SELECT, WHERE ve ORDER BY gibi yaygın cümleleri kullanarak ibildirimi uyarlamasını sağlar. Bu, kullanıcıların girdiği geçici sorguları da kapsar.

SQL Server Client ODBC sürücüsü, yalnızca Database Engine tarafından doğrudan desteklenmeyen ODBC ve ISO sözdizimimi için SQL ifadelerini ayrıştırır ve sürücü bunları Transact-SQL'ye dönüştürür. Diğer tüm SQL sözdizimi değişmeden Database Engine ile SQL Server geçerli olup olmadığını SQL Server belirleyecektir. Bu yaklaşım iki fayda sağlar:

  • Azaltılmış genel gider

    Sürücünün işlem yükü en aza indirilir çünkü sadece küçük bir ODBC ve ISO maddesi seti taraması yeterlidir.

  • Esneklik

    Programcılar uygulamalarının taşınabilirliğini özelleştirebilirler. Birden fazla veritabanına karşı taşınabilirliği artırmak için öncelikle ODBC ve ISO sözdizimi kullanın. SQL Server'ye özgü geliştirmeleri kullanmak için uygun Transact-SQL sözdizimi kullanın. SQL Server Native Client ODBC sürücüsü, tam Transact-SQL sözdizimi desteğini sağlar, böylece ODBC tabanlı uygulamalar SQL Server'daki tüm özelliklerden faydalanabilir.

SELECT ifadesindeki sütun listesi yalnızca mevcut görevi yerine getirmek için gereken sütunları içermelidir. Bu sadece ağ üzerinden gönderilen veri miktarını azaltmakla kalmaz, aynı zamanda veritabanı değişikliklerinin uygulama üzerindeki etkisini de azaltır. Bir uygulama bir tablodaki bir sütuna referans vermiyorsa, o sütunda yapılan değişiklikler uygulama etkilenmez.