Connect to Your Database Using MS SQL Proxy with Fixed IP Address

Lapps provide node-mssql node package to connect with MS SQL host. It is exposed via a library function that will ensure that your DB request are going via a fixed IP address. The same IP address can be whitelisted in the client DB server to ensure that the requests are coming from a known and expected source, in this case, our Lapps.

We have exposed the new function as ls.lib.mssqlproxy.query. Below is the signature of the function –

ls.lib.mssqlproxy.query(connectionOptions, queryStatement,callback=null)

Below are the parameters description in detail

connectionOptions

Defines the connection configuration to make a database connection. Below are the four properties expected –

let connectionOptions = {
"user": "db user",
"password": "db password",
"server": "host",
"database": "DB Name"
}

queryStatement

Query statement to be executed against the DB, which is passed a string. Ensure that the sting is a valid string and single and double quotes are handled correctly.

let queryStatement = "select COl1,Col2 from TableName where Col3='ABC'"

callback

callback is optional. It returns two parameters, “error” and “response”. In case callback is not passed, the function returns a “Promise”.

 

Timeout

The maximum timeout for the query is set as 3000 ms.

 

IP Addresses

Note: To obtain the fixed IP address for your Lapps, please reach out to your account manager, or write to support@leadsquared.com.

 

Complete Sample Code

callback based approach

let connectionOptions = {
"user": "db user",
"password": "db password",
"server": "host", 
"database": "DB Name"
}
​
let queryStatement = "select COl1,Col2 from TableName where Col3='ABC'"
​
ls.lib.mssqlproxy.query(connectionOptions, queryStatement,(error,res)=>{
if(error){
//handle error here
ls.log.Error("error occured",error)

} else {
// handle successful response here
ls.log.Info("got data",res)
}
});

 

Promise Based Approach

let connectionOptions = {
"user": "db user",
"password": "db password",
"server": "host", 
"database": "DB Name"
}
​
let queryStatement = "select COl1,Col2 from TableName where Col3='ABC'"
​
ls.lib.mssqlproxy.query(connectionOptions, queryStatement)
.then((res)=> {
// handle successful response here
ls.log.Info("got data",res)
})
.catch((error)=> {
//handle error here
ls.log.Error("error occured",error)
})