Dmi*_*sev 6 sql-server node.js typescript visual-studio-code vscode-extensions
我正在开发VS Code扩展,并希望从SQL Server数据库中获取一些数据。我尝试了许多不同的示例,但没有一个对我有用。
const Connection = require('tedious').Connection;
const config = {
user: 'ssrs', // tried userName, username
password: 'ssrs',
server: 'localhost',
options: {
database: 'imdb'
}
}
const connection = new Connection(config);
connection.on('connect', function(err: string) {
if (err) {
console.log(err);
} else {
console.log('Connected');
}
});
Run Code Online (Sandbox Code Playgroud)
要么
await sql.connect('mssql://ssrs:ssrs@localhost/imdb')
const result = await sql.query`select 1 as one`
console.dir(result)
Run Code Online (Sandbox Code Playgroud)
要么
const sql = require("mssql");
const conn = new sql.ConnectionPool({
database: "imdb",
server: "localhost",
driver: "msnodesqlv8",
userName: "ssrs",
password: "ssrs"
});
conn.connect().then(() => {
console.log('Connected');
});
Run Code Online (Sandbox Code Playgroud)
ConnectionError:用户“”登录失败。
通过连接sqlcmd:
该端口也已打开(1433),因为我可以远程登录到该端口。
来自SQL Server日志的消息:
日期2019-05-08 11:19:02 AM记录SQL Server(当前-2019-05-05 2:53:00 PM)
源登录
用户“”的消息登录失败。原因:尝试使用SQL身份验证登录失败。服务器仅配置为集成身份验证。[客户:127.0.0.1]
日期2019-05-08 11:19:02 AM记录SQL Server(当前-2019-05-05 2:53:00 PM)
源登录
消息错误:18456,严重性:14,状态:58。
尝试与Powershell连接:
PS C:\WINDOWS\system32> Invoke-Sqlcmd -query "select CURRENT_USER, USER_NAME()" -ServerInstance "localhost" -username "ssrs" -password "ssrs" -Database 'imdb'
Column1 Column2
------- -------
ssrs ssrs
Run Code Online (Sandbox Code Playgroud)
如屏幕截图所示,您可以通过 SQLCMD 实用程序进行连接。这意味着 SQL Server 中的用户或身份验证模式没有问题。然而,该错误消息具有误导性,其他用户已经在这里经历过这种情况。
我不是 Node.js 专家,但我建议您更好地了解mssql插件和Connection对象的工作原理。我认为您的配置中缺少一些设置导致连接尝试失败。
例如,您发布的这段代码是错误的(userName无效):
const sql = require("mssql");
const conn = new sql.ConnectionPool({
database: "imdb",
server: "localhost",
driver: "msnodesqlv8",
userName: "ssrs",
password: "ssrs"
});
conn.connect().then(() => {
console.log('Connected');
});
Run Code Online (Sandbox Code Playgroud)
它应该是:
const sql = require("mssql");
const conn = new sql.ConnectionPool({
database: "imdb",
server: "localhost",
driver: "msnodesqlv8",
user: "ssrs",
password: "ssrs"
});
conn.connect().then(() => {
console.log('Connected');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
360 次 |
| 最近记录: |