请各位帮我看一下这段Oracle的create语句,为什么老是ORA-00911

patrickjiang 2010-04-26 11:18:57
DROP TABLE tuser;

CREATE TABLE tuser (
userid VARCHAR2(50) NOT NULL PRIMARY KEY,
name VARCHAR2(30) NOT NULL,
pass VARCHAR2(32) NOT NULL
);

INSERT INTO tuser (userid, name, pass) VALUES ('admin', '管理员', 'admin');
INSERT INTO tuser (userid, name, pass) VALUES ('guest', '来访者', 'guest');


这段代码我看了好几天了,但是一运行就报错ORA-00911

数据库环境:Oracle 10g Express Edition,没有sql plus,只有在Oracle的网页运行框里运行sql脚本,Oracle怎么开发了这么一款。
...全文
950 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
daydayup_lee 2010-04-26
  • 打赏
  • 举报
回复
我觉得问题可能出现在引号上面
petrie 2010-04-26
  • 打赏
  • 举报
回复
观看-接分
patrickjiang 2010-04-26
  • 打赏
  • 举报
回复
谢谢各位了,问题解决了。

我刚刚试了一下create语句,能够创建表。

问题出在insert语句上,我下来好好的研究一下。
疑问:suiziguo兄弟试过是没问题的啊,为什么我的就不行呢?

已经十二点了,各位赶快去吃饭吧!再见!

patrickjiang 2010-04-26
  • 打赏
  • 举报
回复
pl/sql Developer上不去先不管,但是我在oracle的数据库主页里面都无法运行,这个是不是数据库呢问题呢?
patrickjiang 2010-04-26
  • 打赏
  • 举报
回复


我截了图,看看能否上传上来。

我已经把“管理员”改成“guanliyuan”,“来访者”改成“laifangzhe”,但是还是ORA-00911
  • 打赏
  • 举报
回复
toad 试过了,没有问题。
Leshami 2010-04-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 patrickjiang 的回复:]
我用的是Oracle 10g里面自带的网页版运行框。没办法,是因为遇到了以下情况:

前两天因为“服务”列表的监听器无法启动,我把listener.ora和tnsnames.ora删了,现能在“服务”启动监听器,但没新建监听器了。

后来使用pl/sql Developer无法找到DATABASE,只能使用Oracle Express Edition自带的网页运行框执行。

请问各位,……
[/Quote]
字符集出问题了。
如果没有监听器,pl/sql Developer是无法连接到数据库的,你需要重建监听器
vanjayhsu 2010-04-26
  • 打赏
  • 举报
回复
ORA-00911: invalid character

Cause: identifiers may not start with any ASCII character other than letters and numbers. $#_ are also allowed after the first character. Identifiers enclosed by doublequotes may contain any character other than a doublequote. Alternative quotes (q'#...#') cannot use spaces, tabs, or carriage returns as delimiters. For all other contexts, consult the SQL Language Reference Manual.

中文问题,改成英文应该可以了。
patrickjiang 2010-04-26
  • 打赏
  • 举报
回复
Oracle 10g的Express Edition怎么那么难用,连sql plus都没有
patrickjiang 2010-04-26
  • 打赏
  • 举报
回复
我把“管理员”和“来访者”改成拼音格式的,还是ORA-00911。

各位试过成功了,那就不是代码的问题了,应该是数据库的问题了。
ngx20080110 2010-04-26
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 java3344520 的回复:]
这段代码我看了好几天了,但是一运行就报错ORA-00911??
数据库不支持中文???
INSERT INTO tuser (userid, name, pass) VALUES ('admin', '管理员', 'admin');
改成英文试试
[/Quote]
頂,我也認爲可能是中文亂碼引起的問題,試一下英文字符先。
patrickjiang 2010-04-26
  • 打赏
  • 举报
回复
使用pl/sql Developer登录,
DATABASE下拉菜单没有数据库名称,登
录后显示“
ORA-12154:TNS:无法解析指定的链接标示符
patrickjiang 2010-04-26
  • 打赏
  • 举报
回复
我用的是Oracle 10g里面自带的网页版运行框。没办法,是因为遇到了以下情况:

前两天因为“服务”列表的监听器无法启动,我把listener.ora和tnsnames.ora删了,现能在“服务”启动监听器,但没新建监听器了。

后来使用pl/sql Developer无法找到DATABASE,只能使用Oracle Express Edition自带的网页运行框执行。

请问各位,是哪里出了问题呢?如果是监听器的原因,该怎么新建呢?
iqlife 2010-04-26
  • 打赏
  • 举报
回复
这段代码我看了好几天了,但是一运行就报错ORA-00911??
数据库不支持中文???
INSERT INTO tuser (userid, name, pass) VALUES ('admin', '管理员', 'admin');
改成英文试试
suiziguo 2010-04-26
  • 打赏
  • 举报
回复
isqlplus也试了,没问题。
suiziguo 2010-04-26
  • 打赏
  • 举报
回复
sqlplus里运行NO PROBLEM。

你是使用的i*sqlplus?
tangren 2010-04-26
  • 打赏
  • 举报
回复
Oracle XE缺省安装的字符集是WE8MSWIN1252
修改成中文字符集
alter database character set internal_use ZHS16GBK ;

然后再试试插入中文数据
tangren 2010-04-26
  • 打赏
  • 举报
回复
pl/sql dev如果和数据库同在一台机器上,则可以不配置监听和tnsnames.ora连接串
否则两者都要配置,才能连接上。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧