1

我正在尝试将 Sybase 服务器中的表中的数据复制到 Oracle 服务器(Oracle 11g)中的同一个表中。我认为使用我的coldfusion网络编程会更容易,因为有2个不同的数据库服务器。不幸的是,我从 Oracle 收到了以下错误。我不认为我的语法是错误的。因为所有的逗号都在那里,并且没有错误所说的缺少逗号。我认为这可能是由于设置为 DATE 数据类型的 DATE 列。

这是错误:

Error Executing Database Query.  
[Macromedia][Oracle JDBC Driver][Oracle]ORA-00917: missing comma  

错误发生在C:\Inetpub\wwwroot\test.cfm: line 65

63 :      #um_gs_dnrcnt_cfm_pp#,                                           
64 :      #um_gs_amt_cfm_pg_pp#,                                            
65 :      #um_gs_dnrcnt_cfm_pg_pp#)
66 :     </cfquery>
67 : </cfoutput>



--------------------------------------------------------------------------------

SQLSTATE   HY000 
SQL    INSERT INTO um_gift_sum (um_gs_fyr, um_gs_inst, um_gs_dept, 
                                um_gs_dt_of_record, um_gs_fund_type, 
                                um_gs_dnr_type,
                                um_gs_amt_cash, um_gs_dnrcnt_cash, um_gs_amt_pl,
                                um_gs_dnrcnt_pl, um_gs_amt_pp, um_gs_dnrcnt_pp,  
                                um_gs_amt_pp_prior, um_gs_dnrcnt_pp_prior, 
                                um_gs_amt_gik, um_gs_dnrcnt_gik, 
                                um_gs_amt_pg_cash, 
                                um_gs_dnrcnt_pg_cash, um_gs_amt_pg_pl, 
                                um_gs_dnrcnt_pg_pl, um_gs_amt_pg_pp, 
                                um_gs_dnrcnt_pg_pp, um_gs_amt_gft_mtch, 
                                um_gs_dnrcnt_gft_mtch, um_gs_amt_cfm_pp, 
                                um_gs_dnrcnt_cfm_pp, um_gs_amt_cfm_pg_pp,  
                                um_gs_dnrcnt_cfm_pg_pp) 
       VALUES('1995', 'AB', 'MAA', 1995-01-31 00:00:00.0, '1', 'FR', 100.0000, 0,
              0.0000, 0, 0.0000, 0, 0.0000, 0, 0.0000, 0, 0.0000, 0, 0.0000, 0, 
              0.0000, 0, 0.0000, 0, 0.0000, 0, 0.0000, 0)  

这是我的插入语句:

<cfquery name="x" datasource="SybaseDB">                   
 SELECT TOP 10 * FROM um_sum                               
</cfquery>                                                 

<cfoutput query="x">                                       

  <cfquery name="Y" datasource="OracleDB">                 
  INSERT INTO um_sum (um_gs_fyr,                           
                 m_gs_inst,                                  
                      um_gs_dept,                          
                      um_gs_dt_of_record,                  
                      um_gs_fund_type,                     
            um_gs_dnr_type,                                     

            etc,                                                 

            um_gs_dnrcnt_cfm_pp,                              
            um_gs_amt_cfm_pg_pp,                              
                 um_gs_dnrcnt_cfm_pg_pp)                    
    VALUES('#um_gs_fyr#',                                    
                '#um_gs_inst#',                                 
                '#um_gs_dept#',                                 
    #um_gs_dt_of_record#,    <---- this is date datatype, 
                                   I suspect this may be the problem?          
                '#um_gs_fund_type#',                            
                '#um_gs_dnr_type#',                             
    #um_gs_amt_cash#,                                        
                    #um_gs_dnrcnt_cash#,                         
                    #um_gs_amt_pl#,                              
                    #um_gs_dnrcnt_pl#,                           
                    #um_gs_amt_pp#,                              
                    #um_gs_dnrcnt_pp#,                           
                    #um_gs_amt_pp_prior#,                        
                    #um_gs_dnrcnt_pp_prior#,                     
                    #um_gs_amt_gik#,                             
                    #um_gs_dnrcnt_gik#,                          
                    #um_gs_amt_pg_cash#,                         
                    #um_gs_dnrcnt_pg_cash#,                      
                    #um_gs_amt_pg_pl#,                           
                    #um_gs_dnrcnt_pg_pl#,                        
                    #um_gs_amt_pg_pp#,                           
                    #um_gs_dnrcnt_pg_pp#,                        
                    #um_gs_amt_gft_mtch#,                        
                    #um_gs_dnrcnt_gft_mtch#,                     

         #um_gs_amt_cfm_pp#,                               

         #um_gs_dnrcnt_cfm_pp#,                            
                    #um_gs_amt_cfm_pg_pp#,                       
    #um_gs_dnrcnt_cfm_pg_pp#)                                
    </cfquery>                                             
</cfoutput>
4

1 回答 1

3

这部分没有正确地用单引号括起来。

AA', 1995-01-31 00:00:00.0, '1'

编辑(基于注释) 如果单引号不能修复它,那么您可以在to_date()函数中显式声明日期格式

于 2012-09-04T13:27:28.497 回答