gpt4 book ai didi

oracle - Access 2007导出表到CSV十进制

转载 作者:行者123 更新时间:2023-12-02 03:58:38 26 4
gpt4 key购买 nike

我在Access中有一些表要导出到csv,以便可以导入到Oracle。我不通过ODBC使用导出,因为在某些表中有70K-500K记录,并且该功能要花很长时间,因为我要处理大约25个表,所以我想导出到csv(速度要快得多),然后通过sqlldr加载。

一些数字列可以移到小数点后16位,我需要它们。但是,当我导出时,它们只会外出2。我已经对此进行了一些谷歌搜索。区域设置仅允许使用9个小数位(Win XP),通过查询格式化该列会将其更改为导入到Oracle时不需要的文本(也许可以在控制文件中使用to_number()?)。

为什么这么难?为什么Access无法仅按原样导出数字列?

最佳答案

在我的Access 2007测试案例中,我没有看到与您描述的结果完全相同的结果。导出为CSV时,我得到所有小数位。

这是我的示例表,decimal_field为十进制(18,16)。

id some_text decimal_field
-- --------- ------------------
1 a 1.0123456789012345
2 b 2

不幸的是,这些导出的 decimal_field值在CSV中被引用:
"id","some_text","decimal_field"
1,"a","1.0123456789012345"
2,"b","2"

我发现删除 decimal_field值周围的引号的唯一方法也删除了真实文本值周围的引号。

如果带引号的数字值不可行,则可以创建VBA自定义CSV导出过程,在其中将值写入所需格式的每个文件行。

关于“为什么这么困难?”,我怀疑十进制数据类型是罪魁祸首。我不记得其他数字数据类型遇到过此类问题。不幸的是,那只是我的推测,即使正确,也无济于事。

关于oracle - Access 2007导出表到CSV十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11414712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com