C++ IIS无法调用OLEDB API
我有一个网站,它使用OLEDB连接到MS SQL Analysis Server服务。我用C++调用OLDB API,并将其构建为DLL,它被加载到IIS中,并被我的网站调用。如果我在本地运行C++模块,但我的网站无法连接到IIS中的数据源,那么我可以通过调用OLIB API成功连接到数据源。 错误消息是“传输层中遇到错误”。据了解,这是一个身份验证问题。但在数据源端允许匿名用户。C++ IIS无法调用OLEDB API,c++,visual-studio-2010,iis,dll,oledb,C++,Visual Studio 2010,Iis,Dll,Oledb,我有一个网站,它使用OLEDB连接到MS SQL Analysis Server服务。我用C++调用OLDB API,并将其构建为DLL,它被加载到IIS中,并被我的网站调用。如果我在本地运行C++模块,但我的网站无法连接到IIS中的数据源,那么我可以通过调用OLIB API成功连接到数据源。 错误消息是“传输层中遇到错误”。据了解,这是一个身份验证问题。但在数据源端允许匿名用户。 奇怪的是,我的网站可以在VS2010内置的web服务器中正常运行。我注意到的是,VS2010内置的Web服务器和本
奇怪的是,我的网站可以在VS2010内置的web服务器中正常运行。我注意到的是,VS2010内置的Web服务器和本地C++模块都在运行我的当前使用帐户,IIS正在运行网络服务帐户。因此,我使用当前使用的帐户根据配置了IIS。但是IIS仍然无法连接到数据源。我已经解决了这个问题。根据这一点,IIS中用于处理请求的线程的标识受许多选项的影响。当模拟为true且身份验证模式为Windows时,如果IIS使用匿名身份验证,则线程的标识为MACHINE\IUSR\u MACHINE。数据源不信任此帐户。对IIS使用其他身份验证模式并使用数据源信任的帐户登录IIS可以解决此问题