首页 新闻 会员 周边 捐助

asp.net Mvc 网站链接ODBC数据源,vs2008运行后能链接并顺利读取数据,但发布到IIS上就链接失败,为什么?

0
悬赏园豆:200 [待解决问题]
错误内容是:
ERROR [HY024] [Microsoft][ODBC Microsoft Access Driver] '(未知的)'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。
ERROR [IM006] [Microsoft][ODBC 驱动程序管理器] 驱动程序的 SQLSetConnectAttr 失败ERROR 
[HY024] [Microsoft][ODBC Microsoft Access Driver] '(未知的)'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。


 如果ODBC数据源是本地文件,则读取正常,换成网络共享目录就会出现上面的错误。困扰了我很久了,跪求答案~~~~~~~~~!!!!!

  问题补充:

ODBC数据源肯定是在服务器上配置的,我的工作流程是IIS—>ODBC——>各台PC机上的数据文件,其中IIS和ODBC是在服务器上的,数据文件在不同的PC机上

 

危夜孤舟的主页 危夜孤舟 | 初学一级 | 园豆:5
提问于:2010-12-29 15:02
< >
分享
所有回答(2)
0

ODBC数据文件类型有三种,用户DSN,系统DSN,文件DSN。最后一种是可以移动的。前两种是与服务器相关的。

“ODBC数据源管理器”提供了三种DSN,分别为用户DSN、系统DSN和文件DSN。其中,用户DSN会把相应的配置信息保存在Windows的注册 表中,但是只允许创建该DSN的登录用户使用。系统DSN同样将有关的配置信息保存在系统注册表中,但是与用户DSN不同的是系统DSN允许所有登录服务 器的用户使用。

  与上述两种数据库DSN不同,文件DSN把具体的配置信息保存在硬盘上的某个具体文件中。文件DSN允许所有登录服务器的用户使用,而且即使在 没有任何用户登录的情况下,也可以提供对数据库DSN的访问支持。此外,因为文件DSN被保存在硬盘文件里,所以可以方便地复制到其它机器中。这样,用户 可以不对系统注册表进行任何改动就可直接使用在其它机器上创建的DSN。

  在以上三种数据库DSN中,建议用户选择系统DSN或文件DSN,如果用户更喜欢文件DSN的可移植性,可以通过在NT系统下设定文件的访问权限获得较高的安全保障。

如果只是连接Access或SQL Server ,建议用oldeb,兼容性更好,配置也方便!

具体的连接串,看这里

http://www.connectionstrings.com/access

邀月 | 园豆:25475 (高人七级) | 2010-12-30 08:34
因为我要连接多种不同的数据文件,所以统一采用了ODBC数据源 我使用的系统DSN,主要问题是ODBC数据源如果配置的是服务器本地数据文件,那可以正常读取数据,如果配置了网络共享上的数据文件,则读取数据时,就会报以上错误。 您能给我这个问题提出具体点的建议吗?这个问题已经困扰我很久了。
支持(0) 反对(0) 危夜孤舟 | 园豆:5 (初学一级) | 2010-12-30 09:22
@危夜孤舟:你的这种情况,应该使用文件DSN,然后对共享路径的访问者加上可以访问注册表的相应权限,此时将变得比较不安全!
支持(0) 反对(0) 邀月 | 园豆:25475 (高人七级) | 2010-12-30 13:42
0

服务器上是否安装了对应的ODBC源,并且DSN名字和程序中的一样。

Astar | 园豆:40805 (高人七级) | 2010-12-30 13:29
这些肯定是没问题的,不然vs2008运行就会报错了。
支持(0) 反对(0) 危夜孤舟 | 园豆:5 (初学一级) | 2010-12-30 13:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册