connectionstring 和 dsn 有什么区别?

Bre*_*ind 2 database connection-string datasource

我很难破译 dsn 和连接字符串之间的区别。我的问题在于DS可以给你数据库名称,数据库驱动程序,名称密码。DSN 不能使用这些详细信息与数据库建立连接。我需要一个解释,因为这一直困扰着我很长时间 DSN 有必要的细节来建立数据库和客户端之间的连接,不是吗?如果确实如此,为什么会有连接字符串?

请回答并感谢您抽出时间来回答!

Cet*_*soz 5

DSN 代表数据源名称,它作为用户或系统值保存在注册表中。如果它在那里,您可以仅通过其名称来引用连接。这样做看起来很诱人,许多旧样本实际上使用并鼓励使用 DSN。

但是,连接字符串是写成字符串的连接信息,不需要保存在注册表中。它可以即时构建,也可以构建并保存(可能加密)到开发人员选择的位置(甚至可能是另一个本地数据库)-(从某种意义上说,当时开发人员发明了 DSN)。它具有更大的灵活性,许多开发人员更喜欢它而不是 DSN。

  • 因此 DSN 和连接字符串的目的相同;与数据库连接但是连接字符串有更多的优点吗?另外“数据源 = myServerAddress;初始目录 = myDataBase;用户 ID = myUsername;密码 = myPassword;” 有人说“myServerAddress”是 DSN,而整个内容是连接字符串。但是连接字符串不是由“数据库名称目录数据库驱动程序用户 ID 密码”_quote_ 组成的,所以整个内容不是 DSN 吗?这是让我非常困惑的部分 (2认同)