我正在从 AWS 中的 Oracle 实例复制数据,AWS 是在源网络中的虚拟机上运行的自托管集成运行时服务。
问题是,在使用 Azure 中的复制数据事件从 Oracle 数据库复制数据时,如何将 NLS_DATE_FORMAT、NLS_TIMESTAMP_FORMAT 等 session 参数传递到 Oracle session ,以将时间戳字符串设置为某种格式。
复制事件接收器为 csv。 Spark 的 csv 阅读器无法解析以 csv 格式写入的文件,时间戳精度达到纳秒。
因此,通过将 NLS_TIMESTAMP_FORMAT 参数设置为 YYYY-MM-DD HH24:MI:SS,将 Oracle 中的 NLS_TIMESTAMP_FORMAT 参数设置为仅几秒,这似乎是最好的主意
请建议如何做?
我关于这个主题的另一个问题在这里 - Parse Micro/Nano Seconds timestamp in spark-csv Dataframe reader : Inconsistent results
在连接属性参数下提供它没有任何帮助。请参阅随附的屏幕截图。
最佳答案
您需要将参数(NLS_DATE_FORMAT 等)设置为托管自托管 Ingration 运行时的 VM 中的系统属性。
关于azure - 如何在 azure 数据工厂复制事件中将 session 参数传递给 Oracle。在 Oracle 链接服务中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58559726/