问题标签 [mysql-odbc-connector]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 我正在尝试在 Windows 7 系统上安装 MySQL 连接器,但它没有显示在 ODBC 添加窗口中
这是在 Windows 7 64 位下。我下载了 64 位驱动程序,事实上我尝试了所有的 Windows 驱动程序(不过先卸载以前的驱动程序)。但是当我尝试配置新的 ODBC 连接时,MySQL 驱动程序没有出现。
我是否需要安装其他软件包才能使连接器工作?像 MDAC 或 .NET 或其他什么?
php - 使用哪个 odbc 连接器?
我从以下代码中收到此错误:
$result = odbc_connect("DRIVER={MySQL ODBC 3.51 Driver};Server=localhost;Database=$database_name",$database_username, $database_password);
警告:odbc_connect(): SQL 错误:[unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQLConnect in SQLConnect in /dbconnect.php on line xx odbc not connected
我正在使用MySQL版本5.1.41-3ubuntu12.3
我的 phpinfo 给出以下输出:
mysql - MySQL ODBC 连接器 32 位还是 64 位?
我想要一个 32 位应用程序(在 Windows 7 64 位上运行)通过 ODBC 连接到 MySQL 5 64 位。
MySQL ODBC 连接器必须是 32 位还是 64 位?
MySQL ODBC 连接器的寄存器大小是否必须与应用程序或 MySQL 相匹配?Windows 7 64bit 可以处理 32bit 和 64bit 连接器 - 所以这无关紧要。
mysql - 删除/编辑 MySQL ODBC 链接表中的行导致 MS Access 出错
我在 Windows 7(64 位)下使用 MS Access 2003,在 MySQL 服务器(5.0.51a-24+lenny5)上使用外部链接表,通过 MySQL ODBC 连接器连接(使用 5.1.10,因为最新的 5.1.11 有问题) . 当我在 MS Access 中打开此表并尝试从中删除一些记录时,出现以下错误:
Microsoft Jet 引擎停止了该过程,因为您和另一个用户正试图同时更改相同的数据。
当我尝试编辑表中的某些记录时,出现以下错误:
自您开始编辑此记录以来,其他用户已更改此记录。如果您保存记录,您将覆盖其他用户所做的更改。
将更改复制到剪贴板可以让您查看其他用户输入的值,然后在您决定进行更改时将更改粘贴回。
但是,当我通过MS Access 中的删除或更新查询执行此操作时,它工作正常!我只是不能直接从表中删除记录。
我发现(请参阅下面的详细分析),当double
字段的值具有很多十进制数字时,就会出现问题。看:
仅当您尝试删除/编辑最后一条记录 ( a = 6
) 时才会出现问题,否则没关系!
该问题已记录在案:
http://support.microsoft.com/kb/280730,提出这 3 个解决方法:
- 将时间戳列添加到 SQL 表。(然后 JET 将仅使用此字段来查看记录是否已更新。)
- 将 SQL Server 中的数据类型修改为非浮点数据类型(例如,十进制)。
- 运行更新查询以更新记录。您必须这样做,而不是依赖记录集更新。
但是,这 3 种解决方法并不令人满意。只有第一个可能是,但这种解决方法没有奏效 - 正如预期的那样。它可能仅适用于 MS SQL Server。
这个问题还有其他解决方案/解决方法吗?
额外细节:
- MySQL 服务器只为我服务,没有其他人访问它。
- 插入新记录工作正常。
- 此表的主键定义良好。
- 重新启动 MS Access 没有帮助。
- 删除指向 ODBC 表的链接并再次链接它也无济于事。
- 从全新的 Access 数据库链接表没有帮助。
- 将 MySQL 数据库引擎从 MyISAM 更改为 InnoDB 也无济于事。
- 权限没有问题,有这个user@host的所有权限。
- 我通常可以毫无问题地从服务器上的 MySQL 控制台中删除记录。
- 尝试设置 MySQL 连接器 ODBC 选项没有帮助:允许大结果、启用自动重新连接、允许多个语句、启用动态游标、强制使用只进游标、不缓存只进游标的结果。
- 我在 MySQL ODBC 连接器中打开了调试,它创建了
myodbc.sql
日志,但是在编辑/删除时它没有包含任何相应的查询(不知道为什么)。
mysql - 变量失去价值
我有以下 vbscript 代码:
它是一个更大脚本的一部分(太大,无法在此处发布,但这些是关键行)我的消息框显示为 false(即该字段的值不为空),并且下一个消息框崩溃说“无效使用 Null "
有人有想法么??
我已将我的代码修改为上述内容,这就是全部(服务器和密码详细信息除外)。现在没有 OERN/OEG0 线路。我从数据库中获取的行在 home_publish 字段中有一个“Y”,因此第一个显示 false 的消息框是正确的。只有第二个显示“无效使用 Null”是个谜。我开始怀疑 MySQL 驱动程序是否存在问题?
现在这变得很愚蠢:
我将最后 2 行更改为以下 3 行:
第一个消息框显示我的值“Y”。
现在第二个消息框显示为真(显然不是)。
最后,我的第三个消息框给出了“无效使用 null”错误。
其他任何人都经历过仅仅因为你使用过变量而失去价值的经历吗?
mysql - 如何在 Microsoft SQL Server 中记录来自 MySQL-ODBC-driver 的错误
我想从我的 odbc 连接中记录错误。例如,应该可以看到一个简单的语法错误。这很好用:
查询返回错误消息。效果很好。
这也有效,因为似乎有一条红色消息?
截屏:
但不幸的是,并不是每个 ODBC 错误都被记录下来。但我想记录所有这些 odbc 错误。try-catch 块不记录下一个示例:
我正在使用很多查询堆栈,获得有效的错误日志会很有帮助:-) 谢谢!
mysql - 运行时错误 '-2147352567 (80020009)' No Current Record MySQL 后端 DAO 记录集
我将后端 MS Access 2003 升级到数据库的 MySQL 5.1。我将后端 MYSQL 5.1 数据库通过 ODBC(MySQL ODBC 5.1 驱动程序)链接到 MS Access 前端 .mdb。
我正在使用 DAO 记录集。我使用 .AddNew 方法添加新记录并使用更新
.更新方法;在更新语句之后,我将自动编号字段提取到变量中,该变量给出
“运行时错误'-2147352567 (80020009)'没有当前记录”错误。
但是相同的代码在具有 MS-Access 2003 后端的以前版本中也可以工作。
'当我尝试取回自动编号字段的 eipID 时,没有出现当前记录错误。
以前的 MS Access 代码可以访问后端链接表到前端。未指定 dbSeeChanges 选项,在更新语句之前,我可以获得自动编号字段的新 ID。
vba - 微软访问 DoCmd.GoToRecord
我得到了一个 MA DB,我必须使用 ODBC 将它连接到 MySQL 服务器。那很好。然后我在主窗体中添加了一个子窗体,显示了与主窗体相关的所有“附加文件”。那看起来也不错。我什至创建了一个按钮来添加与当前表单相关的附件文件的新记录(我只保存表上的路径)(到可使用表单编辑的当前对象)。还有一个按钮,用于删除与当前主窗体相关的所有这些记录。一切看起来都很好。
但是当我尝试创建它抱怨的主窗体的新记录时,运行时错误 2105,您无法转到指定的记录。它突出显示了这一行:
为什么会这样?使用给我的数据库,它添加了一条没有问题的新记录(但没有子表单并且表没有链接)。我对 VBA 完全陌生,我不确定问题是更多是因为使用 MySQL 的连接器还是我所做的修改。我很迷茫。
有什么方向吗?
mysql - 无法使用 SSIS 将 SQL Server varchar(max) 传输到 MySQL 文本
我正在尝试使用 SSIS 将表从 SQL Server 传输到 MySQL,但它在 SQL Server 上的 varchar(max) 和 MySQL 上的 text 列上失败。到目前为止,我已经尝试将其作为 OLE DB 到 ODBC 数据流,以及将 BCP 输出到平面文件到 ODBC 数据流。有问题的字段在 SSIS 中配置为 DT_TEXT。在这两种情况下,它都会产生以下一组错误:
[ODBC 目标 [47]] 错误:发生打开数据库连接 (ODBC) 错误。插入第 1 行时 SQLExecute 返回错误
[ODBC 目标 [47]] 错误:发生打开数据库连接 (ODBC) 错误。状态:'HYC00'。本机错误代码:0。 [MySQL][ODBC 5.2(a) 驱动程序][mysqld-5.1.69-log] 不支持包含执行数据的参数数组
[SSIS.Pipeline] 错误:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“ODBC 目标输入”(58) 时,组件“ODBC 目标”(47) 上的 ProcessInput 方法失败,错误代码为 0x80004005。已识别的组件从 ProcessInput 方法返回错误。该错误是特定于组件的,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
当我选择忽略该列时,包的两个版本都运行良好。
我还想指出,以前这是使用带有 openquery 的链接服务器完成的,并且没有任何问题。但是,由于性能问题,我们正试图远离链接服务器。
更新:
我设法使用 SQL ServerBCP out
和 MySQL完成了所需的行为,LOAD DATA INFILE
但知道如何使用 SSIS 数据流完成这一点仍然很好,因为它绝对是更简单的方法,并且应该更快,因为它在内存中运行。
linux - Linux 上是否有兼容 Mariadb 10 的 ODBC 驱动程序?
我尝试使用 MySQL ODBC 驱动程序,但编译时出现错误。MySQL ODBC 驱动程序适用于 Mariadb 5.5,但不适用于 Mariadb 10。那么 Mariadb 10 是否有 ODBC 驱动程序?
我安装了 MySQL Connector ODBC Driver 源代码版本。
以下是错误信息: