无法连接到SQL的LocalDB(Unable to connect to SQL LocalDB)

2019-09-19 06:17发布

我有一个本地C ++应用程序中,我正在尝试连接到使用ADO一个LocalDB实例。 说完手动启动我的情况,我可以运行sqllocaldb info v11.0 ,看看数据库实例运行。

我的代码如下。

ADO::_ConnectionPtr spConnection (__uuidof (ADO::Connection));
spConnection->Open (L"Provider=SQLNCLI11;Server=(localdb)\\v11.0;Integrated Security=true", L"", L"", 0);

错误代码DB_E_ERRORSOCCURRED(0x80040e21)和错误消息是多步骤OLE DB操作错误。 检查每个OLE DB状态值,如果可用。 没有工作已完成。

我能够成功连接到使用SQL Server Management Studio中的数据库,我既没有在连接字符串中的供应商以及指定初始目录试了一下。

Answer 1:

我发现我的问题。 安全必须设置为sspi ,如下图所示。

ADO::_ConnectionPtr spConnection (__uuidof (ADO::Connection));
spConnection->Open (L"Provider=SQLNCLI11;Server=(localdb)\\v11.0;Integrated Security=SSPI", L"", L"", 0);


Answer 2:

ADO连接对象都有一个错误集合经常持有名单迄今已发生的错误。 你可以在这些错误来看看,看看什么是错的。 通常在连接到SQL Server的两件事情可能出错。 1.登陆失败。 2.SQL服务器未配置,使您可以远程连接到它。 既然你要连接到本地服务器上,也很难成为第二个原因。 正如你现在可能有两种不同类型的身份验证,当涉及到SQL Server:Windows和SQL Server.You可以使用千卡之一,如果他们每个人在你的SQL Server选项或两者如果选择混合模式设置。 根据您的连接字符串使用的是Windows身份验证模式,为此你应该使用可以登录到SQL服务器。如果这不是你的SQL Server,那么你应该提供您的连接字符串中的SQL用户凭据的Windows用户登录。 反正检查连接对象的错误集合作为看看是否有别的是不对您的本地数据库。



文章来源: Unable to connect to SQL LocalDB