Penemuan Metadata di Klien Asli SQL Server
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Penting
SQL Server Native Client (SNAC) tidak dikirim dengan:
- SQL Server 2022 (16.x) dan versi yang lebih baru
- SQL Server Management Studio 19 dan versi yang lebih baru
SQL Server Native Client (SQLNCLI atau SQLNCLI11) dan Penyedia Microsoft OLE DB warisan untuk SQL Server (SQLOLEDB) tidak direkomendasikan untuk pengembangan aplikasi baru.
Untuk proyek baru, gunakan salah satu driver berikut:
Untuk SQLNCLI yang dikirim sebagai komponen SQL Server Database Engine (versi 2012 hingga 2019), lihat pengecualian Siklus Hidup Dukungan ini.
Peningkatan penemuan metadata di SQL Server 2012 (11.x) memungkinkan aplikasi SQL Server Native Client untuk memastikan bahwa metadata kolom atau parameter yang dikembalikan dari eksekusi kueri identik dengan atau kompatibel dengan format metadata yang Anda tentukan sebelum Anda menjalankan kueri. Anda akan menerima kesalahan jika metadata yang dikembalikan setelah eksekusi kueri tidak kompatibel dengan format metadata yang Anda tentukan sebelum eksekusi kueri.
Dalam fungsi bcp dan ODBC, dan antarmuka IBCPSession dan IBCPSession2, Anda sekarang dapat menentukan bacaan tertunda (penemuan metadata tertunda) untuk menghindari penemuan metadata untuk operasi kueri keluar. Ini meningkatkan performa dan menghilangkan kegagalan penemuan metadata.
Jika Anda mengembangkan aplikasi menggunakan SQL Server Native Client di SQL Server 2012 (11.x) tetapi menyambungkan ke versi server yang lebih lama dari SQL Server 2012 (11.x), fungsionalitas penemuan metadata akan sesuai dengan versi server.
Keterangan
Fungsi bcp berikut telah ditingkatkan di SQL Server 2012 (11.x) untuk memberikan penemuan metadata yang ditingkatkan:
Anda juga akan melihat peningkatan performa saat menentukan format metadata menggunakan bcp_setbulkmode.
bcp_control memiliki eOption baru untuk mengontrol perilaku bcp_readfmt: BCPDELAYREADFMT.
Fungsi ODBC berikut telah ditingkatkan di SQL Server 2012 (11.x) untuk memberikan penemuan metadata yang ditingkatkan:
Fungsi anggota OLE DB berikut telah ditingkatkan di SQL Server 2012 (11.x) untuk memberikan penemuan metadata yang ditingkatkan:
IColumnsInfo::GetColumnInfo
IColumnsRowset::GetColumnsRowset
ICommandWithParameters::GetParameterInfo (lihat ICommandWithParameters untuk informasi selengkapnya)
Anda juga akan melihat peningkatan performa saat menentukan format metadata menggunakan IBCPSession::BCPSetBulkMode
Peningkatan penemuan metadata di SQL Server Native Client dimungkinkan karena penambahan dua prosedur tersimpan di SQL Server 2012 (11.x):
sp_describe_first_result_set
sp_describe_undeclared_parameters