因为要连第三方库(access数据库),自然而然的就想到通过ODBC数据源来连接,数据源连接没有问题,但是在数据服
务中访问该数据源时,出现异常“ERROR [HY024] [Microsoft][ODBC Microsoft Access Driver] '(未知的)'不是一个有效
的路径。。。。”,经反复测试,如果ACCESS文件在本机,创建数据源时指向本地文件没有问题;或者在Windows
Application 中调用也没有问题,就是在Web Application 中调用网络驱动器时会出现异常。(创建ACCESS数据源时,如
果指向网络上的ACCESS文件,就会自动映射为网络驱动器。)
分析肯定是与运行时用户权限有关,Windows Application是以当前用户身份来运行,而Web Application 根据IIS版本
的不同,默认可能是以ASPNET或NETWORK SERVICE身份来运行。尝试了设置网络驱动器的安全权限,甚至把EVERYONE的权限
都放开了,还是不行,也尝试过将WEB的App Cache Pool 标识设置为以本地系统身份(Local system),问题依旧。
查阅了很多资料,在ASP.net中访问网络资源可以通过 模拟+委派 配置来实现,详见:
http://support.microsoft.com/kb/810572/zh-cn
但是如果修改配置,不知道对已经在用的数据服务有无其它影响