使用 CoCreateInstance 创建对 SQL 服务器本机客户端 OLE DB 提供程序的访问失败,出现 80040154 错误
creating access to SQL Server Native Client OLE DB provider using CoCreateInstance fails with 80040154 error
我正在尝试使用 :
获取对 SQL 服务器本机客户端 OLE DB 提供程序的访问权限
hr = CoCreateInstance(CLSID_SQLNCLI11, NULL, CLSCTX_INPROC_SERVER, IID_IDBInitialize,
(void **) &PIDBInitialize);
这失败并出现 80040154 错误。
我正在使用 sqlserver 2012,只要我的应用程序 运行 在安装了 sql 服务器的同一台机器上,一切都运行良好,但现在应用程序是部署在不同的环境中,在该环境中,应用程序在与具有数据库和 sql 服务器的服务器不同的服务器上运行我失败并出现此错误,即使目标服务器上的 sql 服务器版本相同和我一样。
知道为什么会这样吗?
感谢您的回复。
那就是 REGDB_E_CLASSNOTREG
,所以 CLSID_SQLNCLI11
不可用,请下载并安装 Native Client 的可再发行组件包(匹配您的应用程序的位数)。
我正在尝试使用 :
获取对 SQL 服务器本机客户端 OLE DB 提供程序的访问权限hr = CoCreateInstance(CLSID_SQLNCLI11, NULL, CLSCTX_INPROC_SERVER, IID_IDBInitialize,
(void **) &PIDBInitialize);
这失败并出现 80040154 错误。
我正在使用 sqlserver 2012,只要我的应用程序 运行 在安装了 sql 服务器的同一台机器上,一切都运行良好,但现在应用程序是部署在不同的环境中,在该环境中,应用程序在与具有数据库和 sql 服务器的服务器不同的服务器上运行我失败并出现此错误,即使目标服务器上的 sql 服务器版本相同和我一样。
知道为什么会这样吗?
感谢您的回复。
那就是 REGDB_E_CLASSNOTREG
,所以 CLSID_SQLNCLI11
不可用,请下载并安装 Native Client 的可再发行组件包(匹配您的应用程序的位数)。