Catatan: Saya jelas telah mengubah nama server dan IP menjadi yang fiktif.
Inilah yang sedang terjadi. Saya punya server, yang saya panggil MYSERVER
, menjalankan Microsoft SQL Server Express 2005. Tepat di server ini sendiri, saya punya koneksi ODBC yang diatur dengan menunjuk ke dirinya sendiri, dan itu sudah berfungsi dengan baik. Saya masuk menggunakan Otentikasi SQL Server (bukan otentikasi Windows), dan sudah diatur seperti ini:
Seperti yang saya katakan, itu berhasil. Tapi selanjutnya, saya punya komputer lain yang berada di domain yang sama sekali berbeda / tidak di intranet, yang perlu mengakses SQL Server yang sama ini di-host di MYSERVER. Karena berada di domain yang berbeda, itu tidak mengenali nama "MYSERVER"; Saya harus mengarahkannya ke alamat IP MYSERVER, yang akan kami katakan adalah 123.456.789.012. Tetapi koneksi ODBC tampaknya tidak berfungsi di sana. Saya mencoba mengaturnya seperti ini:
Ini tidak berfungsi. Ketika saya memasukkan nama pengguna dan kata sandi dan menekan Berikutnya, itu terhenti selama 10 hingga 20 detik, dan akhirnya kembali dengan kesalahan berikut:
Connection failed:
SQLState: '01000'
SQL Server Error: 1326
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
Connection failed:
SQLState: '08001'
SQL Server Error: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.
Jika saya mencoba hal yang sama, tetapi mengubah "server" dari yang 123.456.789.012\SQLEXPRESS
lama menjadi biasa saja 123.456.789.012
, saya mendapatkan kesalahan yang berbeda:
Connection failed:
SQLState: '01000'
SQL Server Error: 14
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Invalid Instance()).
Connection failed:
SQLState: '08001'
SQL Server Error: 14
[Microsoft][ODBC SQL Server Driver][DBNETLIB]Invalid connection.
Sekarang saya tahu apa yang Anda pikirkan. Anda mungkin berpikir, "ya, Anda mungkin tidak membuka firewall untuk port 1433, dummy." Kecuali saya lakukan, dan saya memverifikasi ini, karena saya dapat berhasil menjalankan:
telnet 123.456.789.012 1433
... dari baris perintah yang saya inginkan. Jadi saya tidak yakin apa yang harus saya lakukan. Saya tahu SQL Server ada, berfungsi, dan koneksi ODBC dapat diatur dengan benar; Saya hanya tidak yakin apa yang saya miliki salah dalam pengaturan koneksi saya yang melempar kesalahan ini. Berdasarkan kesalahan terakhir yang saya sebutkan, akan terlihat bahwa ia dapat terhubung ke server, tetapi tidak dapat menemukan instance (karena saya tidak menentukan satu waktu itu). Jadi apakah itu berarti saya hanya perlu menggunakan beberapa sintaks yang berbeda untuk menentukan IP bersama dengan nama instance? Apa yang saya lakukan? Terima kasih sebelumnya.