令牌未知在SQLCODE = -104

CREATE DATABASE test.fdb -user SYSDBA -password *******;

我使用上面的命令在Windows 7中为我的项目创建一个数据库.我是Firebird SQL的新手,我使用我的系统凭据登录但是它显示了一些错误.那么,我该如何重置密码?

SQL error code = -104
Token unknown. 

我甚至都不知道SQLCODE = -104的意义.

最佳答案 显示的错误不是由于不知道数据库密码造成的,您在CREATE DATABASE语句中有语法错误.错误令牌未知意味着语句解析器读取了它没有预料到的东西;错误通常后面是违规令牌.

如果我在Firebird 3.0上使用ISQL执行您的语句,我会收到以下完整错误:

SQL> CREATE DATABASE test.fdb -user SYSDBA -password *******;
Statement failed, SQLSTATE = 42000
SQL error code = -104
-Token unknown
-test

这意味着在(或之前)测试查询中的某些内容是错误的.

CREATE DATABASE的正确语法是:

06001

换句话说,你的陈述应该是:

create database 'test.fdb' user SYSDBA password '*******';

所以:

>引用数据库文件(或别名)的路径
>否 – 在用户和密码子句之前
>密码周围的引号(与显示的语法相反,引号在用户名周围是可选的)

顺便说一句,SQL错误代码通常不是很有趣(因为其中一些可以涵盖几个不同的错误).

点赞