- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
PHP PDO 使用这种风格:
MySQL
mysql:host=hostname;dbname=databasename
在各自单独的参数中使用用户名和密码
PostgreSQL
pgsql:host=主机名;dbname=数据库名;user=用户名;password=密码
但是当在 Github 上搜索 DSN 解析器时,他们似乎使用了完全不同的格式,如下所示:
mysql://user:pass@hostname:port/databasename
我的问题是,实际上是否存在每种语言都接受的标准 DSN 格式?
最佳答案
让我们看看什么是 DSN?
DSN 代表数据源名称。但这也称为数据库源名称。 DSN
术语也与连接字符串 重叠。大多数系统不区分 DSN
或 连接字符串
,并且该术语通常可以互换使用。
DSN 属性可能包括但不限于:
以上信息取自wiki
通常,许多数据库连接语言都维护以下格式的连接字符串。这可能是一个社区标准。但是我没有看到DSN
的任何规范。
scheme://username:password@host:port/dbname?param1=value1¶m2=value2&...
有几种方法可以连接到数据库。因此,有一些通用属性可用于所有类型的数据库连接。请参阅以下示例:
通过套接字连接到数据库
mysql://user@unix(/path/to/socket)/dbname
在非标准端口上连接到数据库
pgsql://user:pass@tcp(localhost:5555)/dbname
使用选项连接到 Unix 机器上的 SQLite
sqlite:////full/unix/path/to/file.db?mode=0666
使用选项连接到 Windows 机器上的 SQLite
sqlite:///c:/full/windows/path/to/file.db?mode=0666
使用 SSL 连接到 MySQLi
mysqli://user:pass@localhost/pear?key=client-key.pem&cert=client-cert.pem
连接到 MS Access 有时需要 admin 作为用户名
odbc(access)://admin@/datasourcename
使用特定游标连接到 ODBC
odbc(access)://admin@/datasourcename?cursor=SQL_CUR_USE_ODBC
这里我分别提供了PostgreSQL和MySQL的两个链接。您会在那里找到他们如何使用 connection string
连接数据库。
关于php - 是否有标准的 DSN 格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60465376/
编辑 1 我尝试创建并使用系统 DSN。我按照下面类似的步骤进行了成功的连接尝试。然后我修改了连接字符串以引用这个新的 DSN。我收到错误指定的 DSN 包含驱动程序和应用程序之间的架构不匹配。 为了
编辑 1 我尝试创建和使用系统 DSN。我按照以下类似步骤进行了成功的连接尝试。然后我修改了我的连接字符串以引用这个新的 DSN。我收到错误消息The specified DSN contains a
有人可以帮我解决这个问题吗?我需要通过系统 DSN 检查我与 AS400 服务器的 ODBC 连接,如果不存在特定的系统 DSN,则创建一个系统 DSN。我试过谷歌搜索,但没能找到对我有好处的东西。
我正在托管环境中编写一个小型 ASP.NET 应用程序(这意味着我不拥有该服务器)。 使用托管提供商的 webtools,我创建了一个指定驱动程序、服务器、UID、PWD 和数据库的 DSN。当我测试
有一段时间,我一直在尝试让一个 visual basic 6 应用程序在 Windows 7 中运行。最后一个问题是它在启动时找不到 DSN。凭直觉,我删除了系统 DSN 并以完全相同的方式创建它,但
在 AX2012 中,我想建立一个到 SQL Server 2008R2 的 ODBC 数据库连接。为此,我构建了 32 位系统 DSN“SQL Server Native Client 10.0”(
我有一个 SQL 数据库,并希望使用 VBA 连接到它以支持某些旧功能。我正在使用 ADODB 连接并且需要知道我的数据库 DSN 是什么。我怎样才能找到这个? 我正在使用 SQL Server 20
我从System32加载odbccp32.dll,甚至尝试从SysWow64使用。我使用SQLConfigDataSource函数为指定的驱动程序配置系统DSN。此功能可以成功配置32位驱动程序,但对
所以我创建了以下 docker-compose.yml 文件 web: build: ./config/apache volumes: - ./code:/var/ww
我有一个使用链接的 sql server 表作为数据源的 Access 表单。我需要尽快将此文件分发给其他用户,并且我需要一种方法来以编程方式将 DSN 安装到他们的机器上。这是手动设置链接的过程:
当尝试配置 symfony Messenger 时总是出现错误 No transport supports the given Messenger DSN "doctrine://default".
下面是在 VBA 应用程序中填充列表框的代码: Private Sub Form_Open(Cancel As Integer) ''#Populate list box control. D
PHP PDO 使用这种风格: MySQL mysql:host=hostname;dbname=databasename 在各自单独的参数中使用用户名和密码 PostgreSQL pgsql:hos
我有一个 Excel 应用程序,我想在其中向用户显示数据源名称(即 DSN)的列表,以便她/他可以选择要使用的数据源。 希望一旦获得列表,我就可以轻松访问 DSN 属性以连接到适当的数据库。 请注意,
PHP PDO 使用这种风格: MySQL mysql:host=hostname;dbname=databasename 在各自单独的参数中使用用户名和密码 PostgreSQL pgsql:hos
PDO DSN 的官方文档页面尚未列出用户名或密码。这些键值对的正确名称是什么? 最佳答案 看起来文档还没有更新,但是this is the related change来自 PHP 的源存储库,说明
我们有一个 ASP.NET 网站,该网站使用我们希望能够使用连接字符串访问的数据库。我们已经成功设置了一个 DSN 来连接到该数据库,但我似乎无法发现连接字符串的正确魔力。 有没有一种简单的方法可以将
我正在尝试在运行时创建一个 ACCESS DB,并使用以下代码在 ODBC.ini 中注册为 DSN: BOOL fCreated; fCreated = SQLConfigDataSource(N
我遇到了这个错误: The specified DSN contains an architecture mismatch between the Driver and Application 尝试使
我第一次尝试在 PHP 中使用异常,但进展不太顺利。 我有一个名为dsn的变量,它包含PDO/MySQL的连接字符串。 当我在 dsn 上使用 var_dump 时,它返回“null”,因此我可以假设
我是一名优秀的程序员,十分优秀!