我正在使用 delphi/ado/odbc 连接到 mysql 服务器。执行以下语句后:
SHOW CREATE VIEW aViewName
结果集中的“创建视图”字段包含一个很长的字符串(> 4096 个字符)。虽然内容的长度是正确的,但我得到了 4096 个字节,并附加了一些垃圾字符。
这是 mysql odbc 驱动程序中的错误还是 ADO 的限制?
我找到了解决方法。我没有使用“SHOW CREAT VIEW ...”,而是使用 information_schema 通过执行以下语句来检索视图创建 sql:
SELECT * FROM information_schema.VIEWS where TABLE_NAME="aViewName"
看起来如果选择结果没有相应的表结构(例如“SHOW CREATE ...”或“SELECT 'something more than 4096 chars'”),那么 ADO 或 ODBC 驱动程序将使用 varchar(4096) 假定字符串内容。
感谢您的意见。