String condition="select * from system"; rs=stmt.executeQuery(condition); rs.next();因为在oracle中执行:select * from system 会写成select * from "system" 那么我应该怎么么改上述代码?
sqlserver的select * from system在oracle要改成select * from "SCOTT"."system"但在 String condition="select * from system"; rs=stmt.executeQuery(condition); rs.next(); 我就不知道怎么改了
sql plus 运行。应该怎么改呢?希望高手指点,谢谢。CREATE TABLE [dbo].[Permission] (
[intPID] [int] IDENTITY (1, 1) NOT NULL ,
[strPName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[intResID] [int] NULL ,
[setOperation] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[intIsAnonymous] [int] NULL
) ON [PRIMARY]
GOCREATE TABLE [dbo].[FileType] (
[TID] [int] IDENTITY (1, 1) NOT NULL ,
[strTypeName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[intParentID] [int] NULL
) ON [PRIMARY]
GOCREATE TABLE [dbo].[Files] (
[FID] [int] IDENTITY (1, 1) NOT NULL ,
[strFileName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[strTitle] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[strPreview] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[dateUpload] [smalldatetime] NOT NULL ,
[TID] [int] NOT NULL ,
[strAuthor] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[intSize] [int] NULL ,
[strFileMemo] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[intDownTimes] [int] NOT NULL
) ON [PRIMARY]
GOCREATE TABLE [dbo].[Resource] (
[intResID] [int] IDENTITY (1, 1) NOT NULL ,
[strResName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GOCREATE TABLE [dbo].[Roles] (
[intRoleID] [int] IDENTITY (1, 1) NOT NULL ,
[strRName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[setPermissions] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[intInherat] [int] NULL
) ON [PRIMARY]
GOCREATE TABLE [dbo].[UserGroup] (
[intUGID] [int] IDENTITY (1, 1) NOT NULL ,
[strGroupName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GOCREATE TABLE [dbo].[Users] (
[intUID] [int] IDENTITY (1, 1) NOT NULL ,
[strUserName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[strPassword] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[setRoles] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[intUGID] [int] NULL
) ON [PRIMARY]
GOCREATE TABLE [dbo].[guestbook_admin] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[user] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[psw] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[title] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[pageshownumber] [int] NULL
) ON [PRIMARY]
GOCREATE TABLE [dbo].[guestbook_user] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[username] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[userpwd] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[qq] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[email] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[http] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[sex] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[regtime] [smalldatetime] NULL
) ON [PRIMARY]
GOCREATE TABLE [dbo].[message] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[content] [text] COLLATE Chinese_PRC_CI_AS NULL ,
[recontent] [text] COLLATE Chinese_PRC_CI_AS NULL ,
[sex] [bit] NULL ,
[qq] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[email] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[http] [varchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,
[ltime] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[ip] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[userid] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GOCREATE TABLE [dbo].[system] (
[adminname] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[adminpassword] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[name] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,
[title] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[web] [varchar] (300) COLLATE Chinese_PRC_CI_AS NULL ,
[news] [text] COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
你可以尝试使用SQL SERVER的导入导出工具,直接把表和数据导入ORACLE.SQL和ORACLE之间的数据查询配置透明网关的步骤
前一段花了些时间配置 TRANSPARENT GATEWAY
现在把心得贴出来与大家共享我的OS是WIN2000
ORACLE 9.0
SQLSERVER2000
HOSTNAME : SVR1
都使用 tcp/ip 默认端口
1: 安装 TRANSPARENT GATEWAY 选件(我安装的是FOR MSSQL)
安装完成了以后有这样一个目录 oracle_home\ora90\tg4msql2: 配置 LISTENER.ORA
(SID_DESC =
(GLOBAL_DBNAME = tg4sql) # 可自己命名
(PROGRAM = tg4msql)
(SID_NAME = sql2000) # SID 自己命名
(ORACLE_HOME = D:\oracle\ora90)
)3: 在 oracle_home\ora90\tg4msql\admin
建文件 init<SID>.ora 由于LISTENER里定义SID为 sql2000
因此文件名为:initsql2000.ora
其中内容为:
HS_FDS_CONNECT_INFO=svr1.master # svr1为SQL服务器名
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER4: 重启 DATABASE AND LISTENER5: 配置 tnsnames.ora
tg_sql =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = SVR1)(PORT = 1521))
)
(CONNECT_DATA =
(SID = sql2000)
)
(HS=OK)
) 6: 建立 DATABASE LINK
CREATE PUBLIC DATABASE LINK DB_SQL
CONNECT TO SA IDENTIFIED BY PASSWORD
USING 'tg_sql'7: 完成,测试
select * from t_test@db_sql8: 请注意使用 DBLINK 时,INIT.ORA中 GLOBAL_NAME 的设置,
如果为 ture , 请使用DBLINK的全称,可在 all_db_links 中查到,
如果为 FALSE, 不必使用全称,当出现
“ORA-02019:为找到远程数据库的连接说明”
时,请使用全称,如:
select * from t_test@db_sql.US.ORACLE.COM
int改为number(10)
IDENTITY 类型的主键改用sequence
注释的[]符号在oracle中换成""另外附一个oracle下建表的简单语句:
create table test(
sname varchar2(10),
sex char(1)
);
照你的说法,下面的语句怎么办?
String condition="select * from system";
rs=stmt.executeQuery(condition);
rs.next();因为在oracle中执行:select * from system 会写成select * from "system"
那么我应该怎么么改上述代码?
String condition="select * from system";
rs=stmt.executeQuery(condition);
rs.next();
我就不知道怎么改了