比如这样的内容: --创建数据库 gabidemo-- --disconnect gabidemo; drop user gabidemo cascade; -- Create the user create user gabidemo identified by gold default tablespace USERS temporary tablespace TEMP profile DEFAULT; -- Grant/Revoke role privileges grant aq_administrator_role to gabidemo; grant aq_user_role to gabidemo; grant dba to gabidemo;connect gabidemo/gold@gaad; --模式为 admin -- --创建表 accounts -- CREATE TABLE accounts( accs_key varchar(16) NOT NULL, accs_code varchar(16) NOT NULL, accs_name varchar(30) NOT NULL);与连接有关,程序处理比较麻烦。尽管也是一种方法。
作成存储过程调用是一样的道理:create procedure test as str varchar2(200); begin str:='CREATE TABLE accounts( accs_key varchar(16) NOT NULL, accs_code varchar(16) NOT NULL, accs_name varchar(30) NOT NULL)'; execute immediate str ; end;
这样要自己去解析sql文件,我认为比sqlplus慢一些。
--创建数据库 gabidemo--
--disconnect gabidemo;
drop user gabidemo cascade;
-- Create the user
create user gabidemo
identified by gold
default tablespace USERS
temporary tablespace TEMP
profile DEFAULT;
-- Grant/Revoke role privileges
grant aq_administrator_role to gabidemo;
grant aq_user_role to gabidemo;
grant dba to gabidemo;connect gabidemo/gold@gaad;
--模式为 admin --
--创建表 accounts --
CREATE TABLE accounts( accs_key varchar(16) NOT NULL, accs_code varchar(16) NOT NULL, accs_name varchar(30) NOT NULL);与连接有关,程序处理比较麻烦。尽管也是一种方法。
as
str varchar2(200);
begin
str:='CREATE TABLE accounts( accs_key varchar(16) NOT NULL, accs_code varchar(16) NOT NULL, accs_name varchar(30) NOT NULL)';
execute immediate str ;
end;
我想通过程序包装一些批处理,让最终用户比较好操作,而这些命令是可以被二次开发修改的
甚至不是oracle语句,而是其他数据库的。
谢谢大家!
其实,根本问题是我的java代码不能直接调用非win界面程序。
我试了一下,就是调用cmd.exe,程序会死掉.
因为cmd窗口出不来,也就无法终止,而waitfor使它死锁.
我用的是win2000server,jb9