Access数据导入到Oracle及报错处理方法
Access数据导入到Oracle及报错处理方法
一 配置oracle的本地Net服务名
1.必须装oracle客户端
2.找到Oracle net configuration assistant 如下图创建
下一步,完成。
二 创建ODBC数据源
Data Source Name :自己写一个名字
Description :可以不写
TNS Service Name :点向下的选择第一步创建的oracle 本地Net服务名(如下图)
User ID :数据库用户名
点击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于成都
转载于:https://blog.51cto.com/myhoop/963610