Pergi dengan SQL Server: Tidak Dapat Bersambung Berjaya
Masalah:
Apabila menggunakan Go dengan pemacu SQL Server untuk menyambung ke pangkalan data, ralat berlaku:
login failed for user 'sakhaloo'
Selain itu, percubaan untuk membuka pangkalan data menggunakan SQL Server Management Studio gagal dengan ralat:
Error:233:
A connection was successfully established with the server, but then an
error occurred during the login process. (provider: Shared Memory
Provider, error: 0-no process is on the other end of the
pipe.)(Microsoft SQL Server,)
Punca:
Isu ini berpunca daripada gabungan faktor:
- Tata SQL Server tidak dikonfigurasikan dengan betul untuk Sambungan TCP.
- Program Go cuba menggunakan Pengesahan Windows tanpa menyatakan domain atau pengguna.
- Pengguna SQL Server tidak mempunyai kebenaran yang diperlukan.
Penyelesaian:
- Konfigurasikan TCP Sambungan untuk Pelayan SQL:
- Buka Pengurus Konfigurasi Pelayan SQL.
- Kembangkan Konfigurasi Rangkaian > Protokol untuk MSSQLSERVER.
- Dayakan TCP/IP.
- Mulakan semula perkhidmatan SQL Server.
- Buat Pengguna SQL Server dengan Kebenaran:
- Gunakan SQL Studio Pengurusan Pelayan untuk mencipta pengguna SQL Server dengan kebenaran yang diperlukan.
- Pastikan pengguna mempunyai keistimewaan yang mencukupi untuk mencipta dan mengubah suai pangkalan data.
- Nyatakan Pengguna SQL Server dalam Program Go:
- Dalam program Go, nyatakan nama pengguna dan kata laluan SQL Server dalam rentetan sambungan.
- Jika Pengesahan Windows dikehendaki, biarkan nama pengguna dan kata laluan kosong, tetapi pastikan contoh SQL Server dikonfigurasikan untuk Kerberos pengesahan.
Penyelesaian Kemas Kini untuk Windows Dipercayai Pengesahan:
- Pada Windows, jika id pengguna kosong atau tiada, Single-Sign-On (sambungan dipercayai) digunakan.
-
Untuk menggunakan Trusted Pengesahan Windows, pastikan perkara berikut dalam program Go:
condb, errdb := sql.Open("mssql", "server=servernameorip;user>
Atas ialah kandungan terperinci Mengapa Program My Go Tidak Boleh Bersambung ke SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan:Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn