我以前的程序是用VC+SQL SERVER做的。现在要把数据库改成VC+ORACLE。我已经把SQL SERVER 数据库导到ORACLE里了。连接串也改了,现在用户我新建的用户,可以连接到ORACLE里了。但是执行SQL语句时,出现错误:
[2005-12-17 09:56:12]执行[DELETE FROM t_save_state_online]语句失败[2005-12-17 09:56:12]操作数据库发生错误,错误内容:
错误编号: 80040e37
错误信息: IDispatch error #3127
错误源: Microsoft OLE DB Provider for ODBC Drivers
错误描述: [Microsoft][ODBC driver for Oracle][Oracle]ORA-00942: 表或视图不存在
后来我用ACCESS外连到ORACLE里,发现在ACCESS里,每个表名前边都加上了:“用户名_”,我就把用到所有SQL语句中,表名前全加上了这个东西。但是执行时,又出现错误:
[2005-12-17 09:59:12]执行[DELETE FROM ZHONGDIANYUAN_t_save_state_online]语句失败[2005-12-17 09:59:12]操作数据库发生错误,错误内容:
错误编号: 80040e14
错误信息: IDispatch error #3092
错误源: Microsoft OLE DB Provider for ODBC Drivers
错误描述: [Microsoft][ODBC driver for Oracle][Oracle]ORA-00972: 标识过长请问大家,这是怎么回事,我该样才能做?

解决方案 »

  1.   

    问题解决了:找不到表的原因是,导到ORACLE里的表名,全要是大写的。我原来的是小写的,所以找不到表。另外,我发现,ORACLE保存时间时,不能直接用'2005-12-17 12:12:12',还得to_date('%%s','yyyy-MM-dd HH24:mi:ss')谢谢大家!
      

  2.   

    其實在將SQL Server中的表導到Oracle中時,注意改一下默認的表名就可以了!這樣就可以直接在Oracle中引用表名了(不會區分大小寫)。