Interbase 2020创建域后执行脚本遇Error 104问题求助
Interbase Error -104 问题解决
你的问题出在同一次动态SQL Prepare中执行了多条独立DDL语句。Interbase的动态SQL接口不支持一次性提交多条语句(哪怕都是DDL),你把CREATE DOMAIN和CREATE TABLE放在同一个脚本块里,导致解析器在第一条语句结束后,遇到第二条的CREATE令牌时无法识别,从而抛出-104错误。
解决方法:
- 拆分语句分别执行:先单独Prepare并执行
CREATE DOMAIN DOM_ID AS INTEGER;,完成后再单独处理CREATE TABLE的语句。 - 若使用Interbase自带的
isql工具执行脚本,它会自动拆分多条语句处理,不会出现这个问题。
补充说明:你关于DDL无需手动Commit的理解是正确的——Interbase会自动隐式提交每一条DDL语句,不需要额外执行Commit操作。这个问题和提交无关,纯粹是动态SQL的语句数量限制导致的。
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

