Bagikan melalui


Menyambungkan ke Sumber Data (ODBC)

Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Setelah mengalokasikan lingkungan dan koneksi menangani dan mengatur atribut koneksi apa pun, aplikasi terhubung ke sumber data atau driver. Ada tiga fungsi yang dapat Anda gunakan untuk menyambungkan:

  • SQLConnect

  • SQLDriverConnect

  • SQLBrowseConnect

Untuk informasi selengkapnya tentang membuat koneksi ke sumber data, termasuk berbagai opsi string koneksi tersedia, lihat Menggunakan Kata Kunci String Koneksi dengan Klien Asli SQL Server.

SQLConnect

SQLConnect adalah fungsi koneksi paling sederhana. Ini menerima tiga parameter: nama sumber data, ID pengguna, dan kata sandi. Gunakan SQLConnect saat ketiga parameter ini berisi semua informasi yang diperlukan untuk menyambungkan ke database. Untuk melakukan ini, buat daftar sumber data menggunakan SQLDataSources; minta pengguna untuk sumber data, ID pengguna, dan kata sandi; lalu panggil SQLConnect.

SQLConnect mengasumsikan bahwa nama sumber data, ID pengguna, dan kata sandi cukup untuk terhubung ke sumber data dan bahwa sumber data ODBC berisi semua informasi lain yang dibutuhkan driver ODBC untuk membuat koneksi. Tidak seperti SQLDriverConnect dan SQLBrowseConnect, SQLConnect tidak menggunakan string koneksi.

SQLDriverConnect

SQLDriverConnect digunakan saat informasi lebih lanjut daripada nama sumber data, ID pengguna, dan kata sandi diperlukan. Salah satu parameter untuk SQLDriverConnect adalah string koneksi yang berisi informasi khusus driver. Anda mungkin menggunakan SQLDriverConnect alih-alih SQLConnect karena alasan berikut:

  • Untuk menentukan informasi khusus driver pada waktu sambung.

  • Untuk meminta agar driver meminta informasi koneksi kepada pengguna.

  • Untuk menyambungkan tanpa menggunakan sumber data ODBC.

String koneksi SQLDriverConnect berisi serangkaian pasangan nilai kata kunci yang menentukan semua informasi koneksi yang didukung oleh driver ODBC. Setiap driver mendukung kata kunci ODBC standar (DSN, FILEDSN, DRIVER, UID, PWD, dan SAVEFILE) selain kata kunci khusus driver untuk semua informasi koneksi yang didukung oleh driver. SQLDriverConnect dapat digunakan untuk menyambungkan tanpa sumber data. Misalnya, aplikasi yang dirancang untuk membuat koneksi "DSN-less" ke instans SQL Server dapat memanggil SQLDriverConnect dengan string koneksi yang menentukan ID masuk, kata sandi, pustaka jaringan, nama server untuk disambungkan, dan database default untuk digunakan.

Saat menggunakan SQLDriverConnect, ada dua opsi untuk meminta informasi koneksi yang diperlukan kepada pengguna:

  • Kotak dialog Aplikasi

    Anda bisa membuat kotak dialog aplikasi yang meminta informasi koneksi, lalu memanggil SQLDriverConnect dengan handel jendela NULL dan DriverCompletion diatur ke SQL_DRIVER_NOPROMPT. Pengaturan parameter ini mencegah driver ODBC membuka kotak dialognya sendiri. Metode ini digunakan ketika penting untuk mengontrol antarmuka pengguna aplikasi.

  • Kotak dialog Driver

    Anda dapat membuat kode aplikasi untuk meneruskan handel jendela yang valid ke SQLDriverConnect dan mengatur parameter DriverCompletion ke SQL_DRIVER_COMPLETE, SQL_DRIVER_PROMPT, atau SQL_DRIVER_COMPLETE_REQUIRED. Driver kemudian menghasilkan kotak dialog untuk meminta informasi koneksi kepada pengguna. Metode ini menyederhanakan kode aplikasi.

SQLBrowseConnect

SQLBrowseConnect, seperti SQLDriverConnect, menggunakan string koneksi. Namun, dengan menggunakan SQLBrowseConnect, aplikasi dapat membangun string koneksi lengkap secara berulang dengan sumber data pada waktu proses. Ini memungkinkan aplikasi untuk melakukan dua hal:

  • Buat kotak dialognya sendiri untuk meminta informasi ini, sehingga mempertahankan kontrol atas antarmuka penggunanya.

  • Telusuri sistem untuk sumber data yang dapat digunakan oleh driver tertentu, mungkin dalam beberapa langkah.

    Misalnya, pengguna mungkin terlebih dahulu menelusuri jaringan untuk server dan, setelah memilih server, telusuri server untuk database yang dapat diakses oleh driver.

Ketika SQLBrowseConnect menyelesaikan koneksi yang berhasil, SQLBrowseConnect mengembalikan string koneksi yang dapat digunakan pada panggilan berikutnya ke SQLDriverConnect.

Driver ODBC SQL Server Native Client selalu mengembalikan SQL_SUCCESS_WITH_INFO pada SQLConnect, SQLDriverConnect, atau SQLBrowseConnect yang berhasil. Ketika aplikasi ODBC memanggil SQLGetDiagRec setelah mendapatkan SQL_SUCCESS_WITH_INFO, aplikasi tersebut dapat menerima pesan berikut:

5701
Menunjukkan bahwa SQL Server menempatkan konteks pengguna ke dalam database default yang ditentukan dalam sumber data, atau ke dalam database default yang ditentukan untuk ID masuk yang digunakan dalam koneksi jika sumber data tidak memiliki database default.

5703
Menunjukkan bahasa yang digunakan pada server.

Contoh berikut menunjukkan pesan yang dikembalikan pada koneksi yang berhasil oleh administrator sistem:

szSqlState = "01000", *pfNativeError = 5701,  
szErrorMsg="[Microsoft][SQL Server Native Client][SQL Server]  
       Changed database context to 'pubs'."  
szSqlState = "01000", *pfNativeError = 5703,  
szErrorMsg="[Microsoft][SQL Server Native Client][SQL Server]  
       Changed language setting to 'us_english'."  

Anda dapat mengabaikan pesan 5701 dan 5703; mereka hanya informasi. Namun, Anda tidak boleh mengabaikan kode pengembalian SQL_SUCCESS_WITH_INFO karena pesan selain 5701 atau 5703 dapat dikembalikan. Misalnya, jika driver terhubung ke server yang menjalankan instans SQL Server dengan prosedur tersimpan katalog yang sudah ketinggalan jaman, salah satu kesalahan yang dikembalikan melalui SQLGetDiagRec setelah SQL_SUCCESS_WITH_INFO adalah:

SqlState:   01000  
pfNative:   0  
szErrorMsg: "[Microsoft][SQL Server Native Client]The ODBC  
            catalog stored procedures installed on server  
            my65server are version 06.50.0193; version 07.00.0205  
            or later is required to ensure proper operation.  
            Please contact your system administrator."  

Fungsi penanganan kesalahan aplikasi untuk koneksi SQL Server harus memanggil SQLGetDiagRec hingga kembali SQL_NO_DATA. Kemudian harus bertindak pada pesan apa pun selain yang memiliki kode pfNative 5701 atau 5703.

Lihat Juga

Berkomunikasi dengan SQL Server (ODBC)