首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NodeJS访问Firebird数据库时出现未知表错误

使用NodeJS访问Firebird数据库时出现未知表错误
EN

Stack Overflow用户
提问于 2019-02-21 22:25:52
回答 1查看 337关注 0票数 1

我需要写一个脚本来将数据从Firebird 2.5迁移到mySQL。我在试着:

代码语言:javascript
复制
const Firebird = require('node-firebird')
const options = {
  host: '127.0.0.1',
  port: 3050,
  database: 'database.gdb',
  user: 'SYSDBA',
  password: 'masterkey',
  lowercase_keys: false,
  role: null,
  pageSize: 4096
}
Firebird.attach(options, function(err,db){
  if(err) throw err
  db.execute("SELECT * from CLIENTE", function(err,result){
    if(err) throw err
  })
})

但我一直收到错误:

代码语言:javascript
复制
Error: Dynamic SQL Error, SQL error code = -204, Table unknown, CLIENTE, At line 1, column 10

现在,一个类似的问题已经被问了两次了。

这里:Firebird exception: Table unknown

这里:firebird isql: "there is no table XXXX in this database"

...but在这些情况下,问题是该表被声明为“在引号之间”,从而区分大小写。我的不是,正如DDL的第一行(用Flamerobin提取)将显示...

代码语言:javascript
复制
CREATE TABLE CLIENTE
(
  CLIENTE_ID integer NOT NULL,
  CODIGO varchar(10),
  TIPO_CLIENTE varchar(1),
  NOME varchar(40),
...

我可以使用IBExpert、Flamerobin和isql访问数据库,没有问题(但无法使用firebird python驱动程序访问)。在这一点上,我不知道还能做什么,真的很感谢一些帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-22 15:48:13

我猜您连接到的数据库与您想象的不同。确保您真正连接到的数据库与FlameRobin中的数据库相同。我注意到您指定了数据库的相对路径。相对于某些配置/安装特定位置解析相对路径,例如,当通过Firebird服务器相对于其安装文件夹(IIRC,未验证)进行连接时,当使用Firebird Embedded进行连接时,相对于应用程序当前工作目录,等等。

你真的应该使用绝对路径,或者更好的别名(在Firebird 2.5和更低版本的aliases.conf中定义,在Firebird 3和更高版本的databases.conf中定义)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54809350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档