无法使用Oracle 11g进行简单插入

时间:2012-09-04 13:19:16

标签: oracle oracle11g

我正在尝试将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>

1 个答案:

答案 0 :(得分:3)

此部分未正确包围单引号。

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

修改(根据评论) 如果单引号没有修复它,那么你可以在to_date()函数中明确声明日期格式