闲坐敲棋

有约不来过夜半,闲敲棋子落灯花

导航

最近在做asp.net 连接DB2 的项目

开发使用 .net 2010 ,数据库使用db29,.net环境上运行正常,部署到在windows service 2008+IIS7.0无法访问数据库,

一直报SQL1159 Initialization error with DB2 .NET Data Provider的错误。

而同样部署在同台服务器的 windows service 程序却可以正常访问数据库。

这是因为asp.net 用户(IIS_USER) 不同于 windows service(local system) 用户,需要将 ASP.NET用户隶属于DB2ADMINS即可 ,

具体操作方式如下:

     1. 服务器安装ibm db2 客户端(32bit)

     1. 更改IIS_User 用户组权限,控制面板-》计算机管理-》用户/组 ,找到DB2ADMINS组,添加IIS_User

     2. iis 站点创建应用程序池,设置允许32位程序访问,

        在标识标签,你可以配置工作进程所运行的用户账户,设置为Local system

     3.更改 webconfig 中   <identity impersonate="true"/> 项,设置为false  应用程序不模拟任何客户端用户

问题解决