Rumah >pembangunan bahagian belakang >Golang >Mengapa Program My Go Tidak Boleh Bersambung ke SQL Server?

Mengapa Program My Go Tidak Boleh Bersambung ke SQL Server?

Linda Hamilton
Linda Hamiltonasal
2024-11-24 13:19:13439semak imbas

Why Can't My Go Program Connect to SQL Server?

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:

  1. 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.
  1. 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.
  1. 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