在Oracle中加载数据填充等效项
我只是想知道Oracle中是否有与MySQL LOAD DATA INFILE Statement等价的语句?我需要它,因为我想从一个巨大的文本文件读入数据库表。Oracle提供了命令行实用程序。但它依赖于数据文件的正确格式 您可以尝试查看(例如,您可以将csv文件链接为外部表,并将其视为Oracle中的表)在Oracle中加载数据填充等效项,oracle,text-files,Oracle,Text Files,我只是想知道Oracle中是否有与MySQL LOAD DATA INFILE Statement等价的语句?我需要它,因为我想从一个巨大的文本文件读入数据库表。Oracle提供了命令行实用程序。但它依赖于数据文件的正确格式 您可以尝试查看(例如,您可以将csv文件链接为外部表,并将其视为Oracle中的表) 这两种解决方案都有优缺点,但最大的缺点是它们仍然依赖于数据输入格式(因此,如果您有一个可用于mysql的文件,您可能需要对其进行一些调整)。windows 10和Oracle 12c上的示
这两种解决方案都有优缺点,但最大的缺点是它们仍然依赖于数据输入格式(因此,如果您有一个可用于mysql的文件,您可能需要对其进行一些调整)。windows 10和Oracle 12c上的示例 如果有一个文本文件,其中每个表的记录都用逗号分隔,则可以执行以下操作: 为每个表创建一个名为table\u name.ctl的控制文件(C:\Users\user\Desktop\directory\table\u name.ctl) 之后,在windows中,您应该打开Cmd并加载每个表中的数据,然后远程加载数据,例如在aws服务器中
sqlldr userid=USER@AWS_PDB1/password
control='C:\Users\user\Desktop\directory\table_name.ctl' log='C:\Users\user\Desktop\directory\table_name.log' direct=true
或
如果出现以下错误:“由于计算机中缺少oranfsodm12.dll,程序无法启动。请尝试重新安装程序以解决此问题。”
这是因为SQL*加载器
已禁用,无法在控制台窗口中使用,此问题已解决
启用以下步骤(如所示):
sqlldr userid=USER@AWS_PDB1/password
control='C:\Users\user\Desktop\directory\table_name.ctl' log='C:\Users\user\Desktop\directory\table_name.log' direct=true
sqlldr control='C:\Users\user\Desktop\directory\table_name.ctl' log='C:\Users\user\Desktop\directory\table_name.log' direct=true
and then ask them the user and password