sybase导出来的sql建表语句导入Oracle出错--解决办法

Sql代码
  1. CREATE TABLE dbo.DM_DJ_BGLB (   
  2.     BGLB_DM char(2) NOT NULL,   
  3.     BGLB_MC varchar(50) NOT NULL,   
  4.     XG_BJ   char(1) NOT NULL,   
  5.     LR_SJ   datetime NULL,   
  6.     XG_SJ   datetime NULL,   
  7.     LRRY_DM varchar(30) NULL,   
  8.     XGRY_DM varchar(30) NULL,   
  9.     CONSTRAINT DM_DJ_BGLB_5016258491 PRIMARY KEY NONCLUSTERED(BGLB_DM)   
  10.     WITH max_rows_per_page = 0, reservepagegap = 0   
  11.     )   
  12. LOCK DATAROWS   
  13. WITH exp_row_size = 0,   
  14. reservepagegap = 0,   
  15. identity_gap = 0   
  16. ON 'default'  
  17. GO   
  18. CREATE TABLE dbo.DM_DJ_BGXM (   
  19.     BGXM_DM         char(8) NOT NULL,   
  20.     BGXM_MC         varchar(50) NOT NULL,   
  21.     BGXM_JC         varchar(30) NOT NULL,   
  22.     XG_BJ           char(1) NOT NULL,   
  23.     BGDX_DM         char(5) NOT NULL,   
  24.     SJB_LM          varchar(30) NOT NULL,   
  25.     SJB_LLX         char(2) NOT NULL,   
  26.     LR_SJ           datetime NULL,   
  27.     XG_SJ           datetime NULL,   
  28.     SJB_BJ          char(2) NULL,   
  29.     SJDMB_MC        varchar(30) NULL,   
  30.     SJDMB_ZJ        varchar(30) NULL,   
  31.     SJDMB_ZJLX      char(2) NULL,   
  32.     SJDMB_LMC       varchar(30) NULL,   
  33.     LRRY_DM         varchar(30) NULL,   
  34.     XGRY_DM         varchar(30) NULL,   
  35.     JY_TJ           varchar(20) NULL,   
  36.     dmTablefilter   varchar(200) NULL,   
  37.     CONSTRAINT DM_DJ_BGXM_12021523471 PRIMARY KEY NONCLUSTERED(BGXM_DM)   
  38.     WITH max_rows_per_page = 0, reservepagegap = 0   
  39.     )   
  40. LOCK DATAROWS   
  41. WITH exp_row_size = 0,   
  42. reservepagegap = 0,   
  43. identity_gap = 0   
  44. ON 'default'  
  45. GO   
  46. CREATE TABLE dbo.DM_DJ_DJLX (   
  47.     DJLX_DM     char(1) NOT NULL,   
  48.     DJLX_MC     varchar(100) NOT NULL,   
  49.     DJLX_JC     varchar(5) NULL,   
  50.     SWJG_DM     varchar(20) NULL,   
  51.     XY_BJ       char(1) NULL,   
  52.     XY_QSRQ     date NULL,   
  53.     XY_ZZRQ     date NULL,   
  54.     LRRY_DM     varchar(30) NULL,   
  55.     LR_SJ       datetime NULL,   
  56.     XGRY_DM     varchar(30) NULL,   
  57.     XG_SJ       datetime NULL,   
  58.     DJLX_LSH    numeric(10,0) IDENTITY NOT NULL,   
  59.     CONSTRAINT DM_DJ_DJLX_1308124971 PRIMARY KEY NONCLUSTERED(DJLX_LSH)   
  60.     WITH max_rows_per_page = 0, reservepagegap = 0   
  61.     )   
  62. LOCK DATAROWS   
  63. WITH exp_row_size = 0,   
  64. reservepagegap = 0,   
  65. identity_g   
  66.     
  67. <SPAN style="COLOR: #ff0000">ORA-00906: 缺失左括号</SPAN>  

 
这是sybase导出来的sql建表语句,我想将表结构倒入oracle,倒入的时候就出现ORA-00906: 缺失左括号。求高人解决问题。。。或者提供导入的正确的方法。小弟谢啦。

 



------------------------------------------------------------------------------------------------------------------
问题补充:

langshao 写道
Sql代码
  1. CREATE TABLE DM_DJ_BGLB (     
  2.     BGLB_DM char(2) NOT NULL,     
  3.     BGLB_MC varchar(50) NOT NULL,     
  4.     XG_BJ   char(1) NOT NULL,     
  5.     LR_SJ   date NULL,     
  6.     XG_SJ   date NULL,     
  7.     LRRY_DM varchar(30) NULL,     
  8.     XGRY_DM varchar(30) NULL  
  9. );   
  10. alter table DM_DJ_BGLB   
  11.   add constraint DM_DJ_BGLB_5016258491 primary key (BGLB_DM);   
  12.   
  13. CREATE TABLE DM_DJ_BGXM (     
  14.     BGXM_DM         char(8) NOT NULL,     
  15.     BGXM_MC         varchar(50) NOT NULL,     
  16.     BGXM_JC         varchar(30) NOT NULL,     
  17.     XG_BJ           char(1) NOT NULL,     
  18.     BGDX_DM         char(5) NOT NULL,     
  19.     SJB_LM          varchar(30) NOT NULL,     
  20.     SJB_LLX         char(2) NOT NULL,     
  21.     LR_SJ           date NULL,     
  22.     XG_SJ           date NULL,     
  23.     SJB_BJ          char(2) NULL,     
  24.     SJDMB_MC        varchar(30) NULL,     
  25.     SJDMB_ZJ        varchar(30) NULL,     
  26.     SJDMB_ZJLX      char(2) NULL,     
  27.     SJDMB_LMC       varchar(30) NULL,     
  28.     LRRY_DM         varchar(30) NULL,     
  29.     XGRY_DM         varchar(30) NULL,     
  30.     JY_TJ           varchar(20) NULL,     
  31.     dmTablefilter   varchar(200) NULL  
  32. );   
  33. alter table DM_DJ_BGXM   
  34.   add constraint DM_DJ_BGXM_12021523471 primary key (BGXM_DM);   
  35.   
  36. CREATE TABLE DM_DJ_DJLX (     
  37.     DJLX_DM     char(1) NOT NULL,     
  38.     DJLX_MC     varchar(100) NOT NULL,     
  39.     DJLX_JC     varchar(5) NULL,     
  40.     SWJG_DM     varchar(20) NULL,     
  41.     XY_BJ       char(1) NULL,     
  42.     XY_QSRQ     date NULL,     
  43.     XY_ZZRQ     date NULL,     
  44.     LRRY_DM     varchar(30) NULL,     
  45.     LR_SJ       date NULL,     
  46.     XGRY_DM     varchar(30) NULL,     
  47.     XG_SJ       date NULL,     
  48.     DJLX_LSH    numeric(10,0) NOT NULL  
  49. );   
  50. alter table DM_DJ_DJLX   
  51.   add constraint DM_DJ_DJLX_1308124971 primary key (DJLX_LSH);  


2010-12-31 langshao (资深程序员)

引用

谢谢您的转换。。。请问您有数据转换的中间件?有的话就给我个 或者 帮我把 上传的文件转换下吧。。。谢谢。。完事我给您结贴

我没有工具,手工改的。三千多行,改起来工作量不少,我还是说说改的方法吧。

1. 把 CREATE TABLE 后的 dbo. 去掉。
2. 把 datetime 替换成 date。
3. 把这些删了:
引用
LOCK DATAROWS
WITH exp_row_size = 0,
reservepagegap = 0,
identity_gap = 0
ON 'default'

4. 把 GO 换成分号 ; 。
5. 把 WITH max_rows_per_page = 0, reservepagegap = 0 删了。
6. 把 CONSTRAINT PK_T_XT_USER PRIMARY KEY NONCLUSTERED(USER_ID) 这样的移到  CREATE TABLE 之外,改成:
Sql代码
  1. alter table T_XT_USER   
  2.   add constraint PK_T_XT_USER primary key (USER_ID);  
--我直接在create table 之内使用constraint pk_t_xt_user primary key(user_id);
7. 把 CONSTRAINT 前面一句的逗号去掉。 ----如果在表内定义中添加constraint,这个逗号就不用去掉了
8. 如果有 DJLX_LSH    numeric(10,0) IDENTITY NOT NULL 这样的,直接把IDENTITY去掉就好。
9.text类型转换成clob类型s,image类型转换成blob类型.

用文本编辑器的替换,还是很快的,除了CONSTRAINT这一点。

你可能感兴趣的:(oracle,sql,Date,table,null,Sybase)