Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ IIS无法调用OLEDB API_C++_Visual Studio 2010_Iis_Dll_Oledb - Fatal编程技术网

C++ IIS无法调用OLEDB 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服务器和本

我有一个网站,它使用OLEDB连接到MS SQL Analysis Server服务。我用C++调用OLDB API,并将其构建为DLL,它被加载到IIS中,并被我的网站调用。如果我在本地运行C++模块,但我的网站无法连接到IIS中的数据源,那么我可以通过调用OLIB API成功连接到数据源。 错误消息是“传输层中遇到错误”。据了解,这是一个身份验证问题。但在数据源端允许匿名用户。

奇怪的是,我的网站可以在VS2010内置的web服务器中正常运行。我注意到的是,VS2010内置的Web服务器和本地C++模块都在运行我的当前使用帐户,IIS正在运行网络服务帐户。因此,我使用当前使用的帐户根据配置了IIS。但是IIS仍然无法连接到数据源。

我已经解决了这个问题。根据这一点,IIS中用于处理请求的线程的标识受许多选项的影响。当模拟为true且身份验证模式为Windows时,如果IIS使用匿名身份验证,则线程的标识为MACHINE\IUSR\u MACHINE。数据源不信任此帐户。对IIS使用其他身份验证模式并使用数据源信任的帐户登录IIS可以解决此问题