Я пытаюсь запустить запрос node-mssql, если я запускаю простые запросы, он запускается. Но когда я использую OPENROWSET
и Microsoft.ACE.OLEDB.12.0
, он показывает некоторые ошибки.Ошибка при запуске запроса node-mssql
Вот server.js код
var express = require('express');
var app = express();
app.get('/', function (req, res) {
var sql = require("mssql");
// config for your database
var config = {
user: '..',
password: '....',
server: 'localhost\\SQLEXPRESS',
database: 'test_databasae'
};
// connect to your database
sql.connect(config, function (err) {
if (err)
console.log(err);
else
console.log("Connection successful");
// create Request object
var request = new sql.Request();
// query to the database and get the records
/*request.query('select * from table1', function (err, recordset) {
if (err) console.log(err)
// send records as a response
res.send(recordset);
});*/
request.query('INSERT INTO [mytable](SalesPersonID,TerritoryID)' +
'SELECT SalesPersonID,TerritoryID FROM OPENROWSET(' +
'\'Microsoft.ACE.OLEDB.12.0\',\'Excel 12.0\';\'Database=D:\\sample\\test\\data\\1540_OPENROWSET_Examples.xls;,\'' +
'SELECT SalesPersonID, TerritoryID FROM [SELECT_Example$])',function(err,recordset){
if(err) console.log(err)
console.log("success");
});
});});var server = app.listen(5000, function() {
console.log('Server is running..');});`
и когда я ударил узел server.js в командной строке я получаю следующие ошибки в командной строке:
Server is running..
Connection successful
{ [RequestError: Incorrect syntax near ')'.]
name: 'RequestError',
message: 'Incorrect syntax near \')\'.',
code: 'EREQUEST',
number: 102,
lineNumber: 1,
state: 1,
class: 15,
serverName: 'localhost\\SQLEXPRESS',
procName: '',
precedingErrors:
[ { [RequestError: Incorrect syntax near the keyword 'SELECT'.]
name: 'RequestError',
message: 'Incorrect syntax near the keyword \'SELECT\'.',
code: 'EREQUEST',
number: 156,
lineNumber: 1,
state: 1,
class: 15,
serverName: 'localhost\\SQLEXPRESS',
procName: '' } ] }
success
То же запрос выполняется в SQL Server Management Studio, он успешно вставляет данные excel в базу данных. Данные листа Excel выглядят следующим образом:
SalesPersonID TerritoryID
-------- -----------
275 2
276 4
277 3
Не могли бы вы проверить, есть ли какая-либо ошибка синтаксиса в конце строки '1540_OPENROWSET_Examples.xls;, \«» '. Я имею в виду, что запятая необходимо разместить после '\ '''? – Arulkumar
Привет, спасибо, что ответили. Я попытался, как сказал, все еще показывает – naik3
'{[RequestError: Неверный синтаксис рядом с ')'.] имя: 'RequestError', сообщение: 'Неверный синтаксис рядом' '\'. ', Код:' EREQUEST», номер: 102, LineNumber: 1, состояние: 1, класс: 15, имя_сервера: 'локальный \\ SQLEXPRESS', PROCNAME: '', precedingErrors: [{[RequestError: Неправильный синтаксис near ','.] name: 'RequestError', сообщение: 'Неверный синтаксис рядом с \', \ '.», код: 'EREQUEST', номер: 102, LineNumber: 1, состояние: 1, класс: 15, имя_сервера: 'локальный \\ SQLEXPRESS', PROCNAME: ''}]}' – naik3