Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az go-mssqldb illesztőprogram három kapcsolati karakterlánc formátumot fogad el: URL, ADO és ODBC. Mindhárom formátum ugyanazt a kapcsolati paraméterkészletet támogatja. Válaszd ki azt a formátumot, amely a legjobban illik az alkalmazásodhoz vagy telepítési modelledhez.
Tip
Használj URL formátumot új Go alkalmazásokhoz. Integrálódik a Go net/url csomagjával a biztonságos kódoláshoz és a programozott felépítéshez. Használj ADO formátumot a .NET alkalmazásokból történő csatlakozási láncok portolásakor, és ODBC formátumot használj, ha a merevítő kilépés kényelmesebb, olyan értékek esetén, amelyek célzókat vagy más speciális karaktereket tartalmaznak.
URL-formátum
Az URL formátum követi a sqlserver:// rendszert, és a leggyakoribb formátum a Go alkalmazásoknál:
sqlserver://username:password@host:port?database=AdventureWorks2025¶m=value
Examples
Csatlakozz egy helyi alapértelmezett példányhoz SQL hitelesítéssel:
sqlserver://<user>:<password>@<server>?database=AdventureWorks2025
Csatlakozás elnevezett példányhoz:
sqlserver://<user>:<password>@<server>/myinstance?database=AdventureWorks2025
Connect to Azure SQL Database:
sqlserver://<user>:<password>@<server>.database.windows.net?database=AdventureWorks2025&encrypt=true&TrustServerCertificate=false
Használd a Windows authentication-t (csak Windows esetén):
sqlserver://<server>?database=AdventureWorks2025&trusted_connection=yes
Megjegyzés:
Az URL formátumban a port alapértelmezett 1433-as formátumra kerül. Más port megadásához a host után kell hozzáadni: sqlserver://<server>:1434?database=AdventureWorks2025.
Jelszavakban speciális karakterek
URL formátumban a speciális karakterekkel rendelkező jelszavakat százalékos kódolással kell beosztani. Gyakori karakterek, amelyek kódolást igényelnek:
| Character | Encoded | Példajelszó | Kódolt forma |
|---|---|---|---|
@ |
%40 |
p@ssword |
p%40ssword |
: |
%3A |
p:ssword |
p%3Assword |
/ |
%2F |
p/ssword |
p%2Fssword |
# |
%23 |
p#ssword |
p%23ssword |
% |
%25 |
p%ssword |
p%25ssword |
Használat url.UserPassword() az automatikus kódolás kezelésére:
u := &url.URL{
Scheme: "sqlserver",
User: url.UserPassword("<user>", "p@ss:word#1"),
Host: "<server>:1433",
}
u.RawQuery = url.Values{"database": {"AdventureWorks2025"}}.Encode()
// Result: sqlserver://<user>:p%40ss%3Aword%231@<server>:1433?database=AdventureWorks2025
Az ADO formátumban a százalékos kódolás nem szükséges. Ha egy érték tartalmaz félbassort, tekerd idézőjelbe: password="<password>". ODBC formátumban tekerd be az értéket fogszabályzókba: password={<password>}.
ADO formátum
Az ADO formátum helyeskolt key=value párokat használ:
server=<server>;user id=<user>;password=<password>;database=AdventureWorks2025
ADO példák
Csatlakozz egy portszámhoz:
server=<server>;port=1434;user id=<user>;password=<password>;database=AdventureWorks2025
Csatlakozás elnevezett példányhoz:
server=<server>\myinstance;user id=<user>;password=<password>;database=AdventureWorks2025
Megjegyzés:
Az ADO formátumban a server és port mezők külön paraméterek. Ne vegyél be egy kolont elválasztott portot az server értékbe.
ODBC formátum
Az ODBC formátum a odbc: pretagot szóbasszony elválasztott key=value párokkal használja. Speciális karaktereket tartalmazó értékek rögzítőbe zárhatók:
odbc:server=<server>;user id=<user>;password={<password>};database=AdventureWorks2025
Fogszabályzók menekülnek
ODBC formátumban tekerd be az értéket {} , hogy elkerüljük a félbastolokat, egyenlő jeleket és egyéb speciális karaktereket. A belső fogszabályzó } szó szerinti beépítéshez duplázzuk meg:
odbc:password={my}}password}
Gyakori paraméterek
A következő paraméterek mind a három formátumban megosztottak:
| Paraméter | Aliases | Description |
|---|---|---|
user id |
user |
SQL Server login name. |
password |
- | Jelszó az SQL Server bejelentkezéshez. |
database |
- | Céladatbázis neve. |
connection timeout |
- | Bejelentkezési időkorlát másodpercek alatt. A driver alapértelmezett , 0amely korlátlan ideig vár. Inkább Go kontextusokat használok a kapcsolat és lekérdezési időkorlátok vezérléséhez. |
dial timeout |
- | A hálózati tárcsázás időkorlátja másodpercek alatt. Az illesztőprogram alapértelmezett a regisztrált protokollokon alapul. Korlátlan ideig várakozásra állítva 0 . |
encrypt |
- | Titkosítási mód: strict, true/mandatory,false/optional , . disable Ha kihagyjuk, az alapértelmezett .false/optional Azure SQL és production connections esetén encrypt=true állítsd explicit. |
TrustServerCertificate |
- | Hagyd ki a tanúsítvány ellenőrzését. Ha encrypt van megadva, az alapértelmezett .false Ha encrypt ki van hagyva, az alapértelmezett .true Használat false termeléshez és Azure SQL kapcsolatokhoz. |
app name |
- | Az alkalmazás neve továbbítja a szervernek. |
authenticator |
- | Egyedi hitelesítés. A azuread csomag belső használata. |
A csatlakozási lehetőségek teljes listájáért lásd: Kapcsolati opciók.
Kapcsolódási láncok építése kódban
Használd a url.URL típust vagy msdsn.Config szerkezetet a csatlakozási stringek programmaztikus építésére a nyers stringek összekötése helyett. Ez a megközelítés elkerüli az injekciós és kódolási problémákat.
URL builder
Használja url.URL a szabványos könyvtárból a kapcsolati karakterlánc biztonságos megépítéséhez:
import "net/url"
query := url.Values{}
query.Add("database", "AdventureWorks2025")
query.Add("encrypt", "true")
query.Add("TrustServerCertificate", "false")
u := &url.URL{
Scheme: "sqlserver",
User: url.UserPassword("<user>", "<password>"),
Host: "<server>.database.windows.net:1433",
RawQuery: query.Encode(),
}
connString := u.String()
NewConnectorConfig
Használd NewConnectorConfig a msdsn.Config With strukturált konfigurációhoz, különösen amikor egyedi tárcsázót kell beállítani, SessionInitSQL, vagy explicit TLS beállításokat, például TrustServerCertificate:
import (
"database/sql"
"github.com/microsoft/go-mssqldb"
"github.com/microsoft/go-mssqldb/msdsn"
)
config := msdsn.Config{
Host: "<server>",
Port: 1433,
Database: "AdventureWorks2025",
TrustServerCertificate: false,
}
connector := mssql.NewConnectorConfig(config)
db := sql.OpenDB(connector)
Ha még mindig a lejáratott mssql drivernév viselkedésére támaszkodsz, amely átírja ? a helykitöltőket, használd NewConnectorWithProcessQueryText helyett NewConnectorConfig , amikor a csatlakozót építed.