content/flux/v0/query-data/sql/sql-server.md
To query Microsoft SQL Server with Flux:
Import the sql package.
Use sql.from() and provide the following parameters:
import "sql"
sql.from(
driverName: "sqlserver",
dataSourceName: "sqlserver://user:password@localhost:1433?database=examplebdb",
query: "GO SELECT * FROM Example.Table",
)
The sqlserver driver uses the following DSN syntaxes (also known as a connection string):
sqlserver://username:password@localhost:1433?database=examplebdb
server=localhost;user id=username;database=examplebdb;
server=localhost;user id=username;database=examplebdb;azure auth=ENV
server=localhost;user id=username;database=examplebdbr;azure tenant id=77e7d537;azure client id=58879ce8;azure client secret=0143356789
Use one of the following methods to provide SQL Server authentication credentials as ActiveX Data Objects (ADO) DSN parameters:
azure auth=ENV
{{% warn %}} InfluxDB Cloud and InfluxDB OSS do not have access to the underlying file system and do not support reading credentials from a file. To retrieve SQL Server credentials from a file, execute the query in the Flux REPL on your local machine. {{% /warn %}}
azure auth=C:\secure\azure.auth
# Example of providing tenant ID, client ID, and client secret token
azure tenant id=77...;azure client id=58...;azure client secret=0cf123..
# Example of providing tenant ID, client ID, certificate path and certificate password
azure tenant id=77...;azure client id=58...;azure certificate path=C:\secure\...;azure certificate password=xY...
# Example of providing tenant ID, client ID, and Azure username and password
azure tenant id=77...;azure client id=58...;azure username=some@myorg;azure password=a1...
For information about managed identities, see Microsoft managed identities.
azure auth=MSI
sql.from() converts SQL Server data types to Flux data types.
| SQL Server data type | Flux data type |
|---|---|
| INT, TINYINT, SMALLINT, BIGINT | int |
| DECIMAL, REAL, FLOAT, MONEY, SMALLMONEY | float |
| DATETIMEOFFSET | time |
| BIT | bool |
{{% caption %}} All other SQL Server data types (including other date/time types) are converted to strings. {{% /caption %}}