db.mssql can connect to any ODBC data source when mssql.open(...) or
Connection.connect(...) receives a valid ODBC connection string.Config can build connection strings from driver, server, port, uid/user,
pwd/password, dbname, dsn, and extra ODBC options.sql.h, sqlext.h).unixodbc, unixodbc-dev, or distro equivalent).brew install unixodbc pkg-configmsodbcsql18).odbc32 is included with the Windows SDK on most systems.msvccl.exe of msvc is accessible from command line.
You can run v commands in Visual Studio 2019 Developer Command Prompt to be safe.msvc.tcc@VEXEROOT\thirdparty\mssql\include.
The version number 10.0.18362.0 might differ on your system.
Command Prompt commands:copy "C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\sql.h" thirdparty\mssql\include
copy ^
"C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\sqlext.h" ^
thirdparty\mssql\include
copy ^
"C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\sqltypes.h" ^
thirdparty\mssql\include
copy ^
"C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\sqlucode.h" ^
thirdparty\mssql\include
copy ^
"C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\sal.h" ^
thirdparty\mssql\include
copy ^
"C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\concurrencysal.h" ^
thirdparty\mssql\include
tccimport db.mssql
fn test_example() ? {
// connect to server
mut conn := mssql.connect(
driver: 'ODBC Driver 18 for SQL Server'
server: '127.0.0.1'
port: 1433
user: ''
password: ''
dbname: 'master'
options: {
'Encrypt': 'yes'
'TrustServerCertificate': 'yes'
}
)?
defer {
conn.close()
}
// get current db name
mut query := 'SELECT DB_NAME()'
mut res := conn.query(query)?
assert res == mssql.Result{
rows: [mssql.Row{
vals: ['master']
}]
num_rows_affected: -1
}
}
You can also connect with a raw DSN or ODBC string:
mut conn := mssql.open('DSN=Reporting;Trusted_Connection=Yes')?