ASP.NET+MYSQL数据库做了一个查询系统,
现在部署网站的时候出现了一些问题,网站部署在ServerMain服务器上:
1.网站的查询功能针对两种类型(类型A1,类型A2)
2.类型A1的查询功能,使用的服务器是Server1;类型A2的查询功能,使用的服务器是Server2
3.ServerMain,Server1和Server2的关系如下:
服务器ServerMain中通过MYSQL ODBC 3.51 Driver建立了两个数据源驱动,这两个数据源驱动连接的
MySQL数据库为远程(Server1,Server2)的
4.现在我通过A1的查询功能能查到数据,但是通过A2的查询却一直提示:
ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
不知使用MYSQL ODBC 3.51 Driver是否可以建立两个数据源驱动,且同时访问?
谢谢高手的指导!
解决方法如下:
首先有一点可以确定,使用MYSQL ODBC 3.51 Driver是可以建立两个或两个以上数据源驱动,且能同时访
问,在ServerMain中建立MYSQL ODBC 3.51 Driver进行远程数据库的访问,这就要求ServerMain服务器上
的DSN必须是系统级别的,如果是用户DSN,那么就会出现“ERROR [IM002] [Microsoft][ODBC 驱动程序
管理器] 未发现数据源名称并且未指定默认驱动程序”。重新配置系统数据源后,web系统能正常的访问数据库了。
补充说明:
用户DSN、系统DSN、文件DSN 相关:三者区别:
· 用户DSN会把相应的配置信息保存在Windows的注册表中,但是只允许创建该DSN的登录用户使用。
· 系统DSN同样将有关的配置信息保存在系统注册表中,但是与用户DSN不同的是系统DSN允许所有登录服
务器的用户使用。
· 与上述两种数据库DSN不同,文件DSN把具体的配置信息保存在硬盘上的某个具体文件中。文件DSN允许
所有登录服务器的用户使用,而且即使在没有任何用户登录的情况下,也可以提供对数据库DSN的访问支
持。此外,因为文件DSN被保存在硬盘文件里,所以可以方便地复制到其它机器中。这样,用户可以不对
系统注册表进行任何改动就可直接使用在其它机器上创建的DSN。
在以上三种数据库DSN中,建议用户选择系统DSN或文件DSN,如果用户更喜欢文件DSN的可移植性,可以通
过在NT系统下设定文件的访问权限获得较高的安全保障。