xq8995209 发表于 2018-9-25 11:42:23

Access数据导入到Oracle及报错处理方法

  Access数据导入到Oracle及报错处理方法
  一 配置oracle的本地Net服务名
  1.必须装oracle客户端
  2.找到Oracle net configuration assistant 如下图创建









  下一步,完成。
  二 创建ODBC数据源



  Data Source Name :自己写一个名字
  Description :可以不写
  TNS Service Name :点向下的选择第一步创建的oracle 本地Net服务名(如下图)

  User>
  点击Test Connection测试,输入自己的用户名密码,如下图

  出现下面提示,表示成功

  三 access数据导出
  步骤如下图:

  导出的时候表名必需改成大写

  然后,所有表的列名必须大写

  特别提醒,上面两步特别重要。注意改大写的时候,别改错。
  选择第二步创建的ODBC数据源

  输入数据库密码,点OK

  导出成功,注:直接导入到Oracle数据库中。(注意:不用手动先去Oracle里面创建表,会自动生成)

  导入过程中的2个小问题及解决
  1.Ora-24801:在OCI_lob函数中非法的参数值

  把一张含有“备注”字段的表通过ODBC导出到Oracle的时候一直出现如上图所示的提示信息。尝试去掉相关字段中空格字符,去掉字段为空的记录,还是导出失败。最后偶然发现,重新建一张相同结构的空表,然后复制原表的记录,再粘贴到新表中,导出到Oracle就没有问题。
  2.Ora-01401:插入的值对于列过大

  同样是通过ODBC导出到Oracle时碰到的问题,这主要是因为Access和Oracle对于字段的长度定义同。Access定义的是字符长度,Oracle定义的是字节长度,碰到有中文这些双字节的字符的字段就会发生上面的问题。只要把这些字段按照字节长度设置就可以了。
  myhoop 2012-8-14于成都

页: [1]
查看完整版本: Access数据导入到Oracle及报错处理方法