Oracle--> SQL - 强制从非 unicode 转换为 unicode?
我有一个 ETL,它使用 OLEDB FastLoad 将表从 Oracle 导入到 SQL 2008。 Oracle中的数据是非unicode的。 当在 SQL 中创建表时,它是使用 unicode 数据类型创建的。 由于某种原因,数据类型被强制从非 unicode 转换为 unicode。 你们中有人知道有什么方法可以阻止这种情况发生吗? 可能是 Oracle 驱动程序问题?
I have an ETL that is importing tables from Oracle to SQL 2008 using the OLEDB FastLoad.
The data in Oracle is non-unicode.
When the table is created in SQL it is created with unicode datatypes.
For some reason the datatypes are being forced from non-unicode to unicode.
Do any of you know of a way to stop this from happening?
Possibly a Oracle driver problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我猜你正在使用 SSIS?
你猜怎么着,SSIS 希望所有内容都是 unicode,因此它假设所有传入数据都是 unicode。如果您不希望它是 unicode,则需要使用数据转换任务来转换每个字段。
I'm presuming you are using SSIS?
Guess what, SSIS wants everything to be unicode, so it assumes that all incoming data is in unicode. If you don't want it to be unicode, you will need to convert each field using a dataconversion task.
您可能想尝试一下。检查要导入的 Oracle 数据库中 NLS_LANG 变量的值。在运行 ETL 之前更改此变量可能会对您有所帮助。
在此处查看 NLS_LANG 常见问题解答:
http://www.oracle.com/technology/tech/全球化/htdocs/nls_lang%20faq.htm
This is something you might want to try. Check the value of the NLS_LANG variable in the Oracle Database you are importing to. Changing this variable before running the ETL could help you.
Check the NLS_LANG faq here:
http://www.oracle.com/technology/tech/globalization/htdocs/nls_lang%20faq.htm