SQL Server ODBC
This is a V wrapper of SQL Server ODBC C/C++ library
Dependencies
ODBC C/C++ library
Linux Install:
Windows Install:
Windows Notes
Using msvc
Make sure cl.exe
of msvc
is accessible from command line.
You can run v
commands in Visual Studio 2019 Developer Command Prompt
to be safe.
C Headers and dlls can be automatically resolved by msvc
.
Using tcc
Copy those headers to @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
dlls can be automatically resolved by tcc
TODO
Usage
import mssql
fn test_example () ? {
// connect to server
config := mssql . Config {
driver : 'ODBC Driver 17 for SQL Server'
server : 'tcp:localhost'
uid : '<your username>'
pwd : '<your password>'
}
mut conn := mssql . Connection {}
conn . connect ( config . get_conn_str ()) ?
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
}
}