Sql server MSSQL-Nodejs-未定义不是函数问题
在量角器测试中,我一直试图使用节点模块连接到MSSQL数据库。我尝试了下面两种方法,但每次我要么得到未定义的不是函数,要么得到无法读取“query/execute”属性 我在conf.js中定义了连接Sql server MSSQL-Nodejs-未定义不是函数问题,sql-server,node.js,protractor,Sql Server,Node.js,Protractor,在量角器测试中,我一直试图使用节点模块连接到MSSQL数据库。我尝试了下面两种方法,但每次我要么得到未定义的不是函数,要么得到无法读取“query/execute”属性 我在conf.js中定义了连接 var HtmlReporter = require('protractor-html-screenshot-reporter'); var mysql = require('../node_modules/mssql'); exports.config = { selenium
var HtmlReporter = require('protractor-html-screenshot-reporter');
var mysql = require('../node_modules/mssql');
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub', //desktop
allScriptsTimeout: 40000,
baseUrl: 'https://myurl.com/#/',
// frameworks to use
frameworks: 'jasmine',
//Capabilities to be passed to the webdriver instance.
multiCapabilities: [{
'browserName': 'chrome'
// }, {
// 'browserName': 'firefox'
//},
// {
// 'browserName': 'internet explorer'
}],
// Spec patterns are relative to the current working directory.
specs: [
'../tests/HomePage.js'
],
onPrepare: function() {
var sql = require('mssql/');
var config = {
server : '*****',
user : 'myusername',
password : 'pass',
database: 'mydb'
};
browser.driver.manage().window().maximize();
jasmine.getEnv().addReporter(new HtmlReporter({
baseDirectory: '/MyDirectory/screenshots'
}));
},
jasmineNodeOpts: {
showColors: true
}
};
在我的测试中,我做了以下操作:Test.js
describe ( " page test , function() {
it('Should add customer', function() {
blah blah....
});//This click will create a record in the backend
// I am attempting to get the record:
function runQuery() {
var connection = new sql.Connection(config, function(err) {
var request = new sql.Request(connection); // or: var request = connection.request();
request.query('select top 1 as result from customers', function(err, recordset) {
// ... error checks
console.log("this is the request: " + request);
console.dir(recordset);
});
});
};
我非正式地使用了dqlserver,它运行得非常好。我们使用Windows身份验证登录到MSSQL studio,因此请使用以下命令
var sql = require('node-sqlserver-unofficial');
var conn_str = "Driver={SQL Server Native Client 11.0};Server={your server};Database={your database};Trusted_Connection={Yes}";
sql.open(conn_str, function (err, conn) {
if (err) {
console.log("Error opening the connection!");
return;
}
conn.queryRaw("SELECT TOP 10 * FROM Employee", function (err, results) {
if (err) {
console.log("Error running query!");
return;
}
for (var i = 0; i < results.rows.length; i++) {
console.log("\n")
console.log("Record Info: ");
for (var j = 0; j < results.rows.length; j++) {
console.log(results.rows[i][j]);
}
}
});
});
var sql=require('node-sqlserver-nonofficial');
var conn_str=“Driver={SQLServer本机客户端11.0};Server={your Server};Database={your Database};Trusted_Connection={Yes}”;
sql.open(conn_str,function)(err,conn){
如果(错误){
log(“打开连接时出错!”);
返回;
}
conn.queryRaw(“从员工中选择前10位*”),功能(错误、结果){
如果(错误){
log(“运行查询时出错!”);
返回;
}
对于(var i=0;i
从此处下载MSSQL非官方软件包:
将您的错误与行和什么链接起来,我们如何知道哪些函数不正确,除非您给我们提供查看摘要的地方。谢谢我在Conf文件中包含了mssql连接。我所要做的就是尝试在测试中查询。我没有任何user.js文件。我已经在Conf文件中输入了我所有的用户名、数据库、主机信息。如果我注释掉sql部分,那么我的脚本运行时不会出现任何问题。我在帖子中更新了完整的配置文件,如果您是npm安装了mssql,那么请执行var mssql=require('mssql');看看这是否能解决你的问题
var sql = require('node-sqlserver-unofficial');
var conn_str = "Driver={SQL Server Native Client 11.0};Server={your server};Database={your database};Trusted_Connection={Yes}";
sql.open(conn_str, function (err, conn) {
if (err) {
console.log("Error opening the connection!");
return;
}
conn.queryRaw("SELECT TOP 10 * FROM Employee", function (err, results) {
if (err) {
console.log("Error running query!");
return;
}
for (var i = 0; i < results.rows.length; i++) {
console.log("\n")
console.log("Record Info: ");
for (var j = 0; j < results.rows.length; j++) {
console.log(results.rows[i][j]);
}
}
});
});