首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLCODE中未知的令牌

SQLCODE中未知的令牌
EN

Stack Overflow用户
提问于 2016-07-15 07:11:01
回答 1查看 2K关注 0票数 5
代码语言:javascript
复制
CREATE DATABASE test.fdb -user ZZZZZ -password *******;

我正在使用上面的命令在windows 7中为我的项目创建一个数据库。我对Firebird SQL很陌生,我使用我的系统凭证登录,但它显示了一些错误。那么,我怎样才能重置密码呢?

代码语言:javascript
复制
SQL error code = -104
Token unknown. 

我甚至不知道SQLCODE = -104的重要性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-15 07:20:55

显示的错误不是由于不知道数据库密码而引起的,您在CREATE DATABASE语句中有一个语法错误。错误令牌未知意味着语句解析器读取它没有预期的内容;错误后面通常是违规标记。

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

代码语言:javascript
复制
SQL> CREATE DATABASE test.fdb -user SYSDBA -password *******;
Statement failed, SQLSTATE = 42000
SQL error code = -104
-Token unknown
-test

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

CREATE DATABASE的正确语法是:

创建{数据库\ SCHEMA} '‘[用户’用户名‘密码’密码‘] [PAGE_SIZE = size] [LENGTH = num PAGE[S] [默认字符集default_charset排序规则]-在ESQL [ .]中不支持;-不在ESQL ::= {filepath db_alias} ::= ::=服务}中支持:\ servername \ ::=文件“filepath”[LENGTH = num [PAGES] [STARTING [AT PAGE] pagenum]

换句话说,你的发言应该是:

代码语言:javascript
复制
create database 'test.fdb' user SYSDBA password '*******';

所以:

  • 数据库文件(或别名)路径周围的引号
  • -password子句之前没有user
  • 密码周围的引号(与显示的语法相反,引号在用户名周围是可选的)

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

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

https://stackoverflow.com/questions/38389954

复制
相关文章

相似问题

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