MS SQL Server compiler for Edge.js. It allows accessing SQL Sever databases from Node.js using Edge.js and ADO.NET.
This is a fork of edge-sql providing improvements to the original implementation.
Differences from edge-sql
- Provides optional
commandTimeout
parameter to set SQL command timeout. SqlCommand.CommandTimeout - Attempts to treat all other types of SQL statements as
select
instead of throwing exception. This allows to execute complex SQL queries that declare variables and temp tables before runningselect
statement. - Supports returning multiple results from query.
- select
- update
- insert
- delete
- exec
All other statements will be interpreted as select
and will try to use ExecuteReaderAsync
.NET method of SqlCommand
class instance.
You can set your SQL connection string using environment variable. For passing connection string as a parameter see Advanced usage.
set EDGE_SQL_CONNECTION_STRING=Data Source=localhost;Initial Catalog=Northwind;Integrated Security=True
const edge = require('edge-js');
var getTop10Products = edge.func('ms-sql', function () {/*
select top 10 * from Products
*/});
getTop10Products(null, function (error, result) {
if (error) throw error;
console.log(result);
});
You can construct a parameterized query once and provide parameter values on a per-call basis:
SELECT
const edge = require('edge-js');
var getProduct = edge.func('ms-sql', function () {/*
select * from Products
where ProductId = @myProductId
*/});
getProduct({ myProductId: 10 }, function (error, result) {
if (error) throw error;
console.log(result);
});
UPDATE
const edge = require('edge-js');
var updateProductName = edge.func('ms-sql', function () {/*
update Products
set ProductName = @newName
where ProductId = @myProductId
*/});
updateProductName({ myProductId: 10, newName: 'New Product' }, function (error, result) {
if (error) throw error;
console.log(result);
});
const edge = require('edge-js');
var select = edge.func('ms-sql', {
source: 'select top 10 * from Products',
connectionString: 'SERVER=myserver;DATABASE=mydatabase;Integrated Security=SSPI',
commandTimeout: 100
});
select(null, function (error, result) {
if (error) throw error;
console.log(result);
});
const edge = require('edge-js');
var storedProcParams = {inputParm1: 'input1', inputParam2: 25};
var select = edge.func('ms-sql', {
source: 'exec myStoredProc',
connectionString: 'SERVER=myserver;DATABASE=mydatabase;Integrated Security=SSPI'
});
select(storedProcParams, function (error, result) {
if (error) throw error;
console.log(result);
});