有没有办法在定义 Tedious 配置时指定数据库(Node.js)?
Is there a way to specify the database when defining Tedious configuration (Node.js)?
根据Tedious Getting Started Guide,连接数据库是这样的:
var Connection = require('tedious').Connection;
var config = {
userName: 'test',
password: 'test',
server: '192.168.1.210',
// If you're on Windows Azure, you will need this:
options: {encrypt: true}
};
var connection = new Connection(config);
connection.on('connect', function(err) {
// If no error, then good to go...
executeStatement();
}
);
建立连接后,可以像这样执行查询:
var Request = require('tedious').Request;
function executeStatement() {
request = new Request("select 42, 'hello world'", function(err, rowCount) {
if (err) {
console.log(err);
} else {
console.log(rowCount + ' rows');
}
});
request.on('row', function(columns) {
columns.forEach(function(column) {
console.log(column.value);
});
});
connection.execSql(request);
}
这很有效,但是,我想将请求更改为以下内容:
request = new Request("select * from table", function(err, rowCount) {
显然,这不会起作用,因为配置对象中没有定义数据库,因此,SQL 将无法识别 table。
我尝试将以下内容添加到配置对象中:
database: 'mydb'
我仍然收到以下错误:
Invalid object name 'table'.
在配置对象中定义数据库的正确方法是什么?
配置对象需要如下所示:
var config = {
userName: 'username',
password: 'password',
server: 'server',
options: {
database: "databaseName",
}
};
我正在使用 Tedious 从 NodeJS 连接到本地 SQL 服务器。由于 username/password 的指定方式,上述配置对我不起作用。多个选项对象有点混乱。
最后,这成功了:
var config = {
server: 'localhost',
options: {
database: "randomDB"
},
authentication: {
type: 'default',
options: {
userName: 'randomUser',
password: 'randomPassword'
}
}
}
根据Tedious Getting Started Guide,连接数据库是这样的:
var Connection = require('tedious').Connection;
var config = {
userName: 'test',
password: 'test',
server: '192.168.1.210',
// If you're on Windows Azure, you will need this:
options: {encrypt: true}
};
var connection = new Connection(config);
connection.on('connect', function(err) {
// If no error, then good to go...
executeStatement();
}
);
建立连接后,可以像这样执行查询:
var Request = require('tedious').Request;
function executeStatement() {
request = new Request("select 42, 'hello world'", function(err, rowCount) {
if (err) {
console.log(err);
} else {
console.log(rowCount + ' rows');
}
});
request.on('row', function(columns) {
columns.forEach(function(column) {
console.log(column.value);
});
});
connection.execSql(request);
}
这很有效,但是,我想将请求更改为以下内容:
request = new Request("select * from table", function(err, rowCount) {
显然,这不会起作用,因为配置对象中没有定义数据库,因此,SQL 将无法识别 table。
我尝试将以下内容添加到配置对象中:
database: 'mydb'
我仍然收到以下错误:
Invalid object name 'table'.
在配置对象中定义数据库的正确方法是什么?
配置对象需要如下所示:
var config = {
userName: 'username',
password: 'password',
server: 'server',
options: {
database: "databaseName",
}
};
我正在使用 Tedious 从 NodeJS 连接到本地 SQL 服务器。由于 username/password 的指定方式,上述配置对我不起作用。多个选项对象有点混乱。
最后,这成功了:
var config = {
server: 'localhost',
options: {
database: "randomDB"
},
authentication: {
type: 'default',
options: {
userName: 'randomUser',
password: 'randomPassword'
}
}
}