我有一个大问题:我想连接到MS SQL Server,但是无论我做什么,都行不通...我不知道我的错误在哪里。
const parse = require("csv-parse/lib/sync");
const fs = require("fs");
const path = require("path");
var mssql = require('mssql/msnodesqlv8');
var iconv = require('iconv-lite');
var http = require('http');
// Connection to SSMS Database
var dbConfig = {
host: 'localhost',
user: 'user',
server: 'server',
database: 'database',
options: {
trustedConnection: true,
useUTC: true
}
};
var connection = new mssql.Connection(dbConfig, function(err) {
var request = new mssql.Request(connection);
...
request.query(`INSERT INTO ${richtigername} (${namen}) VALUES (${values})`, function (err, recordset) {
if (err) {
console.log(err);
res.send(recordset)
}
mssql.close();
});
现在出现错误消息:
TypeError:请求不是函数
很难将数据获取到SQL Server数据库中。该工具在MySQL上运行正常,但SQL Server太可怕了。
在此之前,我还有两个查询,分别是:request.query(...)
和if (err) { console.log(err); res.send(recordset)
...另一方面,MySQL非常简单...
connection.query(...)
及之前
// Verbindung zur MySQL Datenbank
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'database'
});
and
// Verbindung zur Datenbank starten
connection.connect((error) => {
if (error) {
console.error(error);
} else {
}
})
}
答案 0 :(得分:0)
首先,分配一个连接池,然后使用该连接池运行SQL。此示例使用存储过程,但可以轻松修改以运行查询。
var express = require('express');
var app = express();
app.get('/', function (req, res) {
var sql = require("mssql");
// config for your database
var config = {
user: 'user',
password: 'yourpassword',
server: 'yourserver',
database: 'yourdb'
};
new sql.ConnectionPool(config).connect().then(pool => {
return pool.request()
// for select query, uncomment .query and comment .input and .execute
//.query("select * from table1 where id = 2")
// for stored proc, comment .query and uncomment .input and .execute
// .input is only needed if proc has params
.input('p_id', sql.Int, 5)
.execute('getData')
}).then(result => {
let rows = result.recordset
res.setHeader('Access-Control-Allow-Origin', '*')
res.status(200).json(rows);
sql.close();
}).catch(err => {
console.log(err);
res.status(500).send({ message: "${err}"})
sql.close();
});
});
var server = app.listen(5000, function () {
console.log('Server is running..');
});