Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Aplikacje ODBC wykonują niemal cały dostęp do bazy danych poprzez wykonywanie Transact-SQL instrukcji. Forma tych oświadczeń zależy od wymagań aplikacji. Instrukcje SQL mogą być konstruowane w następujący sposób:
Kodowane na stałe
Statyczne instrukcje wykonywane przez aplikację jako zadanie stałe.
Budowane w czasie działania
Instrukcje SQL tworzone w czasie działania, które pozwalają użytkownikowi dostosować zdanie za pomocą popularnych klauzul, takich jak SELECT, WHERE i ORDER BY. Dotyczy to także zapytań ad hoc wprowadzanych przez użytkowników.
Sterownik ODBC klienta SQL Server analizuje instrukcje SQL tylko dla składni ODBC i ISO, które nie są bezpośrednio obsługiwane przez Database Engine, a sterownik przekształca w Transact-SQL. Cała pozostała składnia SQL jest przekazywana do Database Engine bez zmian, gdzie SQL Server określa, czy jest poprawna w SQL Server. Takie podejście przynosi dwie korzyści:
Zmniejszone koszty narzutowe
Narzut przetwarzania dla sterownika jest zminimalizowany, ponieważ musi on skanować tylko niewielki zestaw klauzul ODBC i ISO.
Elastyczność
Programiści mogą dostosować przenośność swoich aplikacji. Aby zwiększyć przenośność na wielu bazach danych, należy głównie korzystać z składni ODBC i ISO. Aby użyć ulepszeń specyficznych dla SQL Server, użyj odpowiedniej składni Transact-SQL. Sterownik ODBC SQL Server Native Client obsługuje pełną składnię Transact-SQL, dzięki czemu aplikacje oparte na ODBC mogą korzystać ze wszystkich funkcji SQL Server.
Lista kolumn w instrukcji SELECT powinna zawierać tylko kolumny potrzebne do wykonania bieżącego zadania. Nie tylko zmniejsza to ilość danych przesyłanych przez sieć, ale także zmniejsza wpływ zmian w bazie danych na aplikację. Jeśli aplikacja nie odwołuje się do kolumny z tabeli, to nie jest podatna na żadne zmiany wprowadzone w tej kolumnie.