DSN是Data Source Name(数据源名称)的缩写。它是一个用于描述的统一命名系统,是为了方便数据访问程序访问数据库系统所设计的。DSN包括数据库驱动程序名称、网络协议、服务器名称、数据库名称等信息,可以被数据访问程序调用。
在Windows操作系统中,DSN是通过控制面板中的ODBC数据源管理员来创建的。
DSN的作用是让应用程序与数据库进行通信,其中保存了详细的连接信息。当应用程序需要连接到数据库时,可以通过调用这个DSN,将DSN传递给数据库,然后数据库就可以在DSN中找到连接信息进行连接。
DSN的创建可以避免了在程序中硬编码连接字符串的问题,这样在连接信息更改时,只需要修改DSN即可,而不用修改所有调用连接字符串的地方。
DSN有两种类型: 类型DSN和文件DSN。
类型DSN存在于系统注册表中,只有安装ODBC驱动程序时才能创建它。类别DSN对所有建立同类型DSN的应用程序可用,但是,它对只有通过特定类型的DSN才能连接的数据源不起作用。
相比之下,文件DSN存储在硬盘上的文件中,可以共享给别人使用,当然需要在不同计算机之间传递这个文件。
DSN虽然在连接信息更改时有优势,但是它也有一些缺点。
首先,DSN只适用于ODBC和OLE DB驱动程序,而其他类型的驱动程序则无法使用它。
其次,DSN的安全性问题。因为DSN除了包含连接信息,还包含了登录名和密码等敏感信息,如果数据库登录信息存储在DSN中,那么如果DSN泄露,那么密码信息也就被泄露了。因此,建议将登录信息直接存储在应用程序的配置文件中,可以提高安全性。