【发布时间】:2016-11-21 15:00:00
【问题描述】:
我正在研究将小型访问应用程序迁移到 MariaDB 的概念验证。 对于概念证明,我使用了 mysql odbc 开发人员指南中列出的代码: https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-examples-programming-vb-ado.html
所有示例代码都可以正常工作,直到下一节我在“rs.Update”处遇到错误(无法更新记录)。为用户授予所有权限。
'rs insert
rs.Open "select * from my_ado", conn, adOpenDynamic, adLockOptimistic
rs.AddNew
rs!Name = "Monty"
rs!txt = "Insert row"
rs.Update
rs.Close
我在 Win7 64 位平台上使用 MariaDB 10.1.19 和 MariaDB Connector/ODBC 2.0.16。
任何帮助将不胜感激......
编辑:odbc 跟踪的最后几行:
估值和 B 1ad8-1f28 ENTER SQLColAttributesW HSTMT 0x004F1F30 超字 3 UWORD 16 PTR 0x0D267D00 剑258 剑 * 0x0018D2DC SQLLEN * 0x00000000
Valuation and B 1ad8-1f28 EXIT SQLColAttributesW with return code -1 (SQL_ERROR) HSTMT 0x004F1F30 超字 3 UWORD 16 PTR 0x0D267D00 剑258 剑 * 0x0018D2DC SQLLEN * 0x00000000
DIAG [S1C00] [ma-1.0.6][10.1.19-MariaDB]Optional feature not implemented (0)
估值和 B 1ad8-1f28 ENTER SQLGetDiagRecW SQLSMALLINT 3 SQLHANDLE 0x004F1F30 SQLSMALLINT 1 SQLWCHAR * 0x0018D260 SQLINTEGER * 0x0018CE38 SQLWCHAR * 0x0018CE60 SQLSMALLINT 512 SQLSMALLINT * 0x0018CE48
Valuation and B 1ad8-1f28 EXIT SQLGetDiagRecW with return code 0 (SQL_SUCCESS) SQLSMALLINT 3 SQLHANDLE 0x004F1F30 SQLSMALLINT 1 SQLWCHAR * 0x0018D260 [5]“S1C00” SQLINTEGER * 0x0018CE38 (0) SQLWCHAR * 0x0018CE60 [59]“[ma-1.0.6][10.1.19-MariaDB]可选功能未实现” SQLSMALLINT 512 SQLSMALLINT * 0x0018CE48 (59)
估值和 B 1ad8-1f28 ENTER SQLGetDiagRecW SQLSMALLINT 3 SQLHANDLE 0x004F1F30 SQLSMALLINT 2 SQLWCHAR * 0x0018D260 SQLINTEGER * 0x0018CE38 SQLWCHAR * 0x0018CE60 SQLSMALLINT 512 SQLSMALLINT * 0x0018CE48
Valuation and B 1ad8-1f28 EXIT SQLGetDiagRecW with return code 100 (SQL_NO_DATA_FOUND) SQLSMALLINT 3 SQLHANDLE 0x004F1F30 SQLSMALLINT 2 SQLWCHAR * 0x0018D260 SQLINTEGER * 0x0018CE38 SQLWCHAR * 0x0018CE60 SQLSMALLINT 512 SQLSMALLINT * 0x0018CE48
估值和 B 1ad8-1f28 ENTER SQLColAttributesW HSTMT 0x004F1F30 超字 3 UWORD 23 PTR 0x0D267E10 剑386 剑 * 0x0018D2DC SQLLEN * 0x00000000
Valuation and B 1ad8-1f28 EXIT SQLColAttributesW with return code 0 (SQL_SUCCESS) HSTMT 0x004F1F30 超字 3 UWORD 23 PTR 0x0D267E10 剑386 剑 * 0x0018D2DC (12) SQLLEN * 0x00000000
估值和 B 1ad8-1f28 ENTER SQLColAttributesW HSTMT 0x004F1F30 超字 3 UWORD 22 PTR 0x0D267FA0 剑386 剑 * 0x0018D2DC SQLLEN * 0x00000000
Valuation and B 1ad8-1f28 EXIT SQLColAttributesW with return code 0 (SQL_SUCCESS) HSTMT 0x004F1F30 超字 3 UWORD 22 PTR 0x0D267FA0 剑386 剑 * 0x0018D2DC (6) SQLLEN * 0x00000000
估值和 B 1ad8-1f28 ENTER SQLColAttributesW HSTMT 0x004F1F30 超字 3 UWORD 13 PTR 0x00000000 剑 0 剑 * 0x00000000 SQLLEN * 0x0018D2C8
Valuation and B 1ad8-1f28 EXIT SQLColAttributesW with return code -1 (SQL_ERROR) HSTMT 0x004F1F30 超字 3 UWORD 13 PTR 0x00000000 剑 0 剑 * 0x00000000 SQLLEN * 0x0018D2C8
DIAG [S1C00] [ma-1.0.6][10.1.19-MariaDB]Optional feature not implemented (0)
估值和 B 1ad8-1f28 ENTER SQLGetDiagRecW SQLSMALLINT 3 SQLHANDLE 0x004F1F30 SQLSMALLINT 1 SQLWCHAR * 0x0018D244 SQLINTEGER * 0x0018CE1C SQLWCHAR * 0x0018CE44 SQLSMALLINT 512 SQLSMALLINT * 0x0018CE2C
Valuation and B 1ad8-1f28 EXIT SQLGetDiagRecW with return code 0 (SQL_SUCCESS) SQLSMALLINT 3 SQLHANDLE 0x004F1F30 SQLSMALLINT 1 SQLWCHAR * 0x0018D244 [5]“S1C00” SQLINTEGER * 0x0018CE1C (0) SQLWCHAR * 0x0018CE44 [59]“[ma-1.0.6][10.1.19-MariaDB]可选功能未实现” SQLSMALLINT 512 SQLSMALLINT * 0x0018CE2C (59)
估值和 B 1ad8-1f28 ENTER SQLGetDiagRecW SQLSMALLINT 3 SQLHANDLE 0x004F1F30 SQLSMALLINT 2 SQLWCHAR * 0x0018D244 SQLINTEGER * 0x0018CE1C SQLWCHAR * 0x0018CE44 SQLSMALLINT 512 SQLSMALLINT * 0x0018CE2C
Valuation and B 1ad8-1f28 EXIT SQLGetDiagRecW with return code 100 (SQL_NO_DATA_FOUND) SQLSMALLINT 3 SQLHANDLE 0x004F1F30 SQLSMALLINT 2 SQLWCHAR * 0x0018D244 SQLINTEGER * 0x0018CE1C SQLWCHAR * 0x0018CE44 SQLSMALLINT 512 SQLSMALLINT * 0x0018CE2C
估值和 B 1ad8-1f28 ENTER SQLFreeStmt HSTMT 0x004F1F30 UWORD 2
Valuation and B 1ad8-1f28 EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS) HSTMT 0x004F1F30 UWORD 2
估值和 B 1ad8-1f28 ENTER SQLFreeStmt HSTMT 0x004F1F30 UWORD 0
Valuation and B 1ad8-1f28 EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS) HSTMT 0x004F1F30 UWORD 0
估值和 B 1ad8-1f28 ENTER SQLFreeStmt HSTMT 0x004F3040 UWORD 1
Valuation and B 1ad8-1f28 EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS) HSTMT 0x004F3040 UWORD 1
估值和 B 1ad8-1f28 ENTER SQLFreeStmt HSTMT 0x004F1F30 UWORD 0
Valuation and B 1ad8-1f28 EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS) HSTMT 0x004F1F30 UWORD 0
估值和 B 1ad8-1f28 ENTER SQLFreeStmt HSTMT 0x004F1F30 UWORD 1
Valuation and B 1ad8-1f28 EXIT SQLFreeStmt with return code 0 (SQL_SUCCESS) HSTMT 0x004F1F30 UWORD 1
估值和 B 1ad8-1f28 ENTER SQLDisconnect HDBC 0x004F1AC0
Valuation and B 1ad8-1f28 EXIT SQLDisconnect with return code 0 (SQL_SUCCESS) HDBC 0x004F1AC0
估值和 B 1ad8-1f28 ENTER SQLFreeConnect HDBC 0x004F1AC0
Valuation and B 1ad8-1f28 EXIT SQLFreeConnect with return code 0 (SQL_SUCCESS) HDBC 0x004F1AC0
估值和 B 1ad8-1f28 ENTER SQLFreeEnv HENV 0x004F17B0
Valuation and B 1ad8-1f28 EXIT SQLFreeEnv with return code 0 (SQL_SUCCESS) HENV 0x004F17B0
估值和 B 1ad8-1f28 ENTER SQLFreeEnv HENV 0x004F1828
Valuation and B 1ad8-1f28 EXIT SQLFreeEnv with return code 0 (SQL_SUCCESS) HENV 0x004F1828
【问题讨论】:
-
请提供准确的错误信息,包括 SQLSTATE 等。
-
错误号为 -2147467259。我不确定,SQLSTATE 是什么意思。我确实有一个 odbc 跟踪文件,但我无法在此处附加它。
-
经过一些研究发现一些迹象:DIAG [S1C00] [ma-2.0.13][10.1.19-MariaDB]可选功能未实现 (0)。不幸的是我不能把它放在上下文中?这是 MariaDB 错误吗?