You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Microsoft Access 2016通过ODBC导出至MariaDB时遇ODBC错误1265求助

解决Access 2016 ODBC导出MariaDB时的「Data truncated for column 'TotRev' at row 1」错误

刚碰到过类似的问题,这个#1265错误其实很好定位——本质就是MariaDB目标表的TotRev字段兜不住Access里的对应数据,导致截断了。给你几个一步步排查的思路:

  • 先查MariaDB目标表的字段定义
    登录MariaDB,用DESCRIBE 你的目标表名;命令查看TotRev的字段类型、长度、精度这些参数。比如如果是VARCHAR(50),但Access里这个字段存了更长的文本;或者是DECIMAL(10,2),但Access里的数值精度更高(比如带四位小数的货币值),都会触发这个截断错误。

  • 对比Access源表的TotRev属性
    在Access里右键源数据表→打开「设计视图」,仔细看TotRev的类型(文本/货币/数值等)、字段大小、小数位数。重点关注:

    • 如果是文本/备注类型:Access里允许的最大长度是不是远大于MariaDB对应字段?比如Access的「备注」类型能存超长文本,而MariaDB如果只设了VARCHAR(255)就肯定装不下。
    • 如果是数值/货币类型:Access里的取值范围、小数位数有没有超出MariaDB字段的定义?比如Access货币类型支持的精度是19位数字+4位小数,要是MariaDB用了INT或者DECIMAL(10,2)就会出问题。
  • 针对性调整字段或预处理数据
    根据对比结果来解决:

    1. 调整MariaDB字段:比如把VARCHAR(255)改成TEXT/LONGTEXT适配Access的备注类型;把DECIMAL(10,2)改成DECIMAL(19,4)匹配Access货币类型的精度。
    2. 清理Access数据:检查第1行的TotRev值是不是有异常(比如超长字符串、格式错误的数值),先修复这条数据再导出。
    3. 换ODBC驱动:如果用的是旧版驱动,试试最新的MariaDB ODBC驱动,旧驱动的类型映射可能有bug,导致自动创建的字段长度不够。
  • 备选方案:转成中间格式导入
    如果ODBC直接导出一直卡壳,可以先把Access表导出成CSV文件,然后用MariaDB的LOAD DATA INFILE命令导入,这样能更灵活地控制字段映射,还能提前检查CSV里的TotRev数据有没有问题。示例命令:

    LOAD DATA INFILE 'C:/temp/你的表数据.csv'
    INTO TABLE 目标表名
    FIELDS TERMINATED BY ',' ENCLOSED BY '"'
    LINES TERMINATED BY '\r\n'
    IGNORE 1 ROWS; -- 要是CSV带表头就加这句
    

内容的提问来源于stack exchange,提问作者kingbrain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:05:37