用户DSN 系统DSN 、文件DSN

三者区别:
·
用户DSN会把相应的配置信息保存在Windows的注册表中,但是只允许创建该DSN的登录用户使用。
·
系统DSN同样将有关的配置信息保存在系统注册表中,但是与用户DSN不同的是系统DSN允许所有登录服务器的用户使用。
·
与上述两种数据库DSN不同,文件DSN把具体的配置信息保存在硬盘上的某个具体文件中。文件DSN允许所有登录服务器的用户使用,而且即使在没有任何用户登录的情况下,也可以提供对数据库DSN的访问支持。此外,因为文件DSN被保存在硬盘文件里,所以可以方便地复制到其它机器中。这样,用户可以不对系统注册表进行任何改动就可直接使用在其它机器上创建的DSN
在以上三种数据库DSN中,建议用户选择系统DSN或文件DSN,如果用户更喜欢文件DSN的可移植性,可以通过在NT系统下设定文件的访问权限获得较高的安全保障。


如何区别用户DSN、系统DSN
在注册表里它们的位置不同。  
系统的在   HKEY_LOCAL_MACHINE\Software\ODBC\ODBC.INI\  
用户的在   HKEY_CURRENT_USER\Software\ODBC\ODBC.INI\

如果用户将同一个数据库分别设置在用户dsn和系统dsn(万一嘛...),后果就是,Tomcat"不能使用'未知的'数据库资源"

如果Tomcat作为系统服务启动,则ODBC方式数据库应使用系统DSN方式;如果是用户方式启动(如启动项服务),则ODBC方式数据库也应使用用户DSN方式。否则,会报如下错:microsoft odbc驱动程序管理器 未发现数据源名称并且未指定默认驱动程序