我已经使用了microsoft提供的这个教程,我可以连接到数据库但是当我到达它的SELECT部分时,我收到了这个错误:
{[RequestError: Requests can only be made in the LoggedIn state, not the SentLogin7WithStandardLogin state]
message:'Requests can only be made in the LoggedIn state, not the SentLogin7WithStandardLogin state', code:'EINAVALIDSTATE'}
我正在使用npm modulte Tedious,就像导游所说,但我无法解决这个问题。
这是教程Link.
答案 0 :(得分:0)
这是一个已知的繁琐问题,其中一个最常见的因素是在Azure SQL上启用Windows身份验证。
1 - 不要在域属性中使用FQDN。如果是“company.com”,请使用“公司” 2 - 资本化似乎也很重要。使用所有CAPS域名 3 - 不要使用合格的用户名(即“user.name@company.com”)只是“user.name”
生成的Config可能看起来像
var config = {
"userName": "user.name",
"password": "password",
"server": "servername",
"domain": "DOMAIN_NAME_CAPITALIZED_AND_NOT_FQDM",
"options": {
"encrypt": false
}
};
答案 1 :(得分:0)
如果我从Azure SQL入站规则中删除当前的客户端IP,我可能会遇到同样的问题。主要问题是您的客户端IP被Azure SQL防火墙阻止。
登录Azure manage portal,单击列表页面中的Azure SQL数据库实例,单击Azure SQL服务器:
在 CONFIGURE 页面中,您可以在“允许的IP地址”部分下的列表中看到您当前的客户端IP,单击箭头按钮在Azure SQL Server的防火墙规则中添加您的IP,单击“保存”底部导航栏中的按钮以保存修改。
然后你可以再次测试你的代码。