访问将导致错误,当您导出到 Oracle 数据类型单引号或双引号的字段

Support for Office 2003 has ended

Microsoft ended support for Office 2003 on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 301915
中等: 要求基本的宏、 编码,和互操作技能。

本文适用于 Microsoft Access 数据库 (.mdb) 和 Microsoft Access 项目 (.adp)。

症状
当您使用 Oracle ODBC 驱动程序将导出的 Access 具有数据类型单个或 $ 双,驱动程序的字段的表,未能导出这些域,如下所示。
Microsoft Oracle 驱动程序将显示以下错误消息:
Microsoft Access 不能将所有将数据追加到表。

删除 <number>记录中字段的内容,以及 0 记录由于键冲突而丢失。
  • 如果数据将被删除您粘贴或导入该数据不匹配,字段数据类型或目标表中的字段大小属性。
  • 如果丢失了记录要粘贴的记录包含在目的表中已存在的主键值,或用户违反了表之间定义关系的参照完整性规则。
    要继续吗?
最多的 Oracle ODBC 驱动程序和包括版本 8.1.6 显示以下错误消息:
ODBC 的调用失败
[] oracle[ODBC][ORA]ORA 01401: 插入的列太大的值 (# 1401)
原因
在 Microsoft Access 97 中,导出过程将单和双数据类型字段转换为 VarChar2(40)。然而,在 Microsoft Access 2000 和更高版本中,该字段转换为 VarChar2(4),哪些它太小,以容纳的数据。
解决方案
若要成功地将数据导出到 Oracle 中,使用基于相关表的查询。使用 CStr() 函数来将该数据类型转换成字符串。

例如对于请考虑下面的 SQL 语法:
SELECT tblExample.pkeyDataID, tblExample.dblTestFROM tblExample;				
dblTest 其中是带一个数据类型 double 类型的字段。通过 SQL 语法进行以下更改,将转换为字符串数据类型 dblTest:
SELECT tblExample.pkeyDataID, CStr([dblTest]) AS Expr1FROM tblExample;				
现在可以将该查询已成功导出到 Oracle。

要解决此问题是,Microsoft Jet 4.0 数据库引擎服务包 8 (SP8) 中。有关 Microsoft Jet 4.0 数据库引擎 SP8 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
829558Jet 4.0 Service Pack 8 有关的信息
状态
Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中的问题。
更多信息
在本文中讨论的第三方产品是由独立于 Microsoft 的公司生产的。Microsoft 会使没有担保,或暗示或其他方式,性能或可靠性,这些产品。
pra oracle varchar2 DoCmd.TransferDatabase 方法失败 ACC2002 ACC2000 ACC2003 ACC2007

属性

文章 ID:301915 - 上次审阅时间:03/26/2007 23:26:32 - 修订版本: 5.1

Microsoft Office Access 2007, Microsoft Office Access 2003, Microsoft Access 2002 标准版, Microsoft Access 2000 标准版

  • kbmt kbexport kbbug kberrmsg kbnofix KB301915 KbMtzh
反馈