我需要写一个脚本来将数据从Firebird 2.5迁移到mySQL。我在试着:
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
})
})但我一直收到错误:
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提取)将显示...
CREATE TABLE CLIENTE
(
CLIENTE_ID integer NOT NULL,
CODIGO varchar(10),
TIPO_CLIENTE varchar(1),
NOME varchar(40),
...我可以使用IBExpert、Flamerobin和isql访问数据库,没有问题(但无法使用firebird python驱动程序访问)。在这一点上,我不知道还能做什么,真的很感谢一些帮助。
发布于 2019-02-22 15:48:13
我猜您连接到的数据库与您想象的不同。确保您真正连接到的数据库与FlameRobin中的数据库相同。我注意到您指定了数据库的相对路径。相对于某些配置/安装特定位置解析相对路径,例如,当通过Firebird服务器相对于其安装文件夹(IIRC,未验证)进行连接时,当使用Firebird Embedded进行连接时,相对于应用程序当前工作目录,等等。
你真的应该使用绝对路径,或者更好的别名(在Firebird 2.5和更低版本的aliases.conf中定义,在Firebird 3和更高版本的databases.conf中定义)。
https://stackoverflow.com/questions/54809350
复制相似问题