1.SSMS默认用Windows账户登录,SSMS有一个自带的SQL Server账户sa,可以装好软件后设定sa账户。因为我们使用sa用户登录不了,所以我们登录的时候只能选择用系统登录,然后登录进去之后,我们就要去修改相关的属性了,我们右键数据库,点击属性。
2.看到左边有一排属性,这个时候,我们点击安全性这个属性,点击之后,我们选择上面当选框中的第二个复选框,也就是SQL server 与windows 的混合验证模式
3.设置sa用户,直接右键——属性打开属性对话框。
4.在这个sa的登录属性对话框中,我们首先要设置这个用户的密码,由于这个用户名是系统自带的用户,所以我们直接填写密码就可以了,然后再次确认一下密码。
5.接着还在这个对话框中,我们点击左上角的第二个属性服务角色,这里是你为添加该用户要实现哪些角色。一般我们自己使用都是配置最高权限的角色,一个是public ,还有一个是sysadmin。
6.接着我们还在这对话框,我们点击最后一个属性,也就是状态属性,在这个状态栏中,我们只需要勾选上面一栏是否允许连接到数据库引擎, 选择 授予
下面一栏:登录 选择启用。
7.重启SQLServer。
8.用Node.JS连接SQLServer:新建db.js文件,需要改config配置
let mssql = require('mssql');
let db = {};
let config = {
user: 'sa',
password: '******', //刚刚改好的密码
server: '********',
port: 1433,
database: '******',
pool: {
min: 0,
max: 10,
idleTimeoutMillis: 3000
}
};
db.sql = function (sql, callback) {
let connection = new mssql.ConnectionPool(config, function (err) {
if (err) {
console.log(err);
return;
}
let ps = new mssql.PreparedStatement(connection);
ps.prepare(sql, function (err) {
if (err) {
console.log(err);
return;
}
ps.execute('', function (err, result) {
if (err) {
console.log(err);
return;
}
ps.unprepare(function (err) {
if (err) {
console.log(err);
callback(err, null);
return;
}
callback(err, result);
});
});
});
});
};
module.exports = db;
9.server就是这个:
database可以查询:
Select Name From Master..SysDataBases Where DbId=(Select Dbid From Master..SysProcesses Where Spid = @@spid)
10.创建dbtest文件:
const db = require('./db');
const csv = require('fast-csv');
const fs = require('fs');
let table_name = "***";
let serverData = [];
db.sql('SELECT QH_ID FROM '+table_name, function (err, result) {
if (err) {
console.log(err);
return;
}
for (let i=0; i<result.recordset.length; i++) {
let data = result.recordset[i].***;
if(data!=null) {
serverData.push(data);
}
}
exportData();
});
function exportData() {
let stream = fs.createWriteStream(table_name+".csv");
csv.write(serverData, {headers:true}).pipe(stream);
console.log("done");
}
运行此文件就可以向本地写CSV文件。