1

我正在尝试从我的 NodeJS 服务器应用程序连接到 MS SQL Server 数据库,当我使用 localhost/127.0.0.1 将它推送到真实服务器时,它在我的本地计算机上完美运行,但我收到了 Auth 错误。

我得到的错误如下:

登录来自不受信任的域,不能用于 Windows 身份验证

所以我想也许它的域不同,但我的域如下:

000001.mysubdomain.mydomain.com

ct000002.mysubdomain.mydomain.com

所以我不是一个网络人,但我会假设在这种情况下 MS SQL Server 和我的 NodeJS 服务器实际上都在同一个域上,我的假设是正确的还是不正确的?

更多信息 - 在这两种情况下,IP 地址共享相同的第一个数字,但其余的不同 - SS.XX.XX.XX - 其中 SS 是相同的数字而 XX 是不同的 - 这是否表明它们实际上是不同的域?

除此之外,如果这是一个域问题,那么为什么它会在我的本地机器上工作?

因此,如果我们可以消除这不是域问题,那么我不知道该去哪里,这是我的代码,我正在使用 Tedious-NTLM NodeJS 模块 - https://www.npmjs.com/package/tedious -ntlm

var tds = require("tedious-ntlm"); //Get the tedious model for NTLM connection to the SQL Server

//Set up config for logging into the DB
var config = {
    userName: 'myusername', //Username
    domainName: "mydomain", //Domain
    password: 'mypassword', //Password
    server: '000001.mysubdomain.mydomain.com' //Database address
};

function getDataFromSQLServer(callback){
    var connection = new tds.Connection(config); //Configure a connection

    //When the database is connected to we get this event
    connection.on('connect', function(err) {
            // If no error, then good to go...
            if(err){
                console.log('err = ' + err); //Log the error to the console
            }
            else{
                executeStatement(callback); //Execute the test statement
            }
        }
    );

正如您在此处看到的,当我的函数被调用时,我记录了一个错误,当我尝试从我的服务器运行代码时,我在这里收到一个错误,但从我的本地计算机运行它时我没有问题。

要获取有关错误的更多信息,我有以下代码:

connection.on('errorMessage',  function(err){
        console.log('full error = ' + JSON.stringify(err)); //Log the error to the console
});

这给了我以下信息:

full error = {"number":18452,"state":1,"class":14,"message":"登录失败。登录来自不受信任的域,不能用于 Windows 身份验证。","serverName" :"000001","procName":"","lineNumber":1,"name":"ERROR","event":"errorMessage"}

再次,如果在我的本地机器上运行一切正常,但如果我从我的服务器运行我得到错误,我想知道这是否真的是一个域问题,或者错误消息是否不正确并且还有其他问题?

4

0 回答 0