Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
powershell oracle从文本文件插入数据_Oracle_Powershell_Oracle11g - Fatal编程技术网

powershell oracle从文本文件插入数据

powershell oracle从文本文件插入数据,oracle,powershell,oracle11g,Oracle,Powershell,Oracle11g,我希望使用PowerShell脚本将以制表符分隔的文本文件中的数据插入到Oracle 11g数据库中。我意识到可能有更好的工具或方法来实现这一点,但我被赋予了一项任务,我的工具有限。我以前的脚本使用SQLLDR命令加载数据,但我需要在没有SQLLDR的情况下重写脚本 到目前为止,我一直在考虑使用ODP.NET的一些功能以及OLEDB连接,但我似乎每次都遇到了障碍 我希望使用ODP.NET中的OracleDataAccess和OracleDataTable方法能够将数据从制表符分隔的文件加载到表中

我希望使用PowerShell脚本将以制表符分隔的文本文件中的数据插入到Oracle 11g数据库中。我意识到可能有更好的工具或方法来实现这一点,但我被赋予了一项任务,我的工具有限。我以前的脚本使用SQLLDR命令加载数据,但我需要在没有SQLLDR的情况下重写脚本

到目前为止,我一直在考虑使用ODP.NET的一些功能以及OLEDB连接,但我似乎每次都遇到了障碍

我希望使用ODP.NET中的OracleDataAccess和OracleDataTable方法能够将数据从制表符分隔的文件加载到表中。不幸的是,我对Oracle和.NET相当陌生,所以我不确定如何最好地加载数据

下面是让我访问Oracle的一些函数。查询只是数据库中表上的一个简单select语句

            Add-Type -Path “C:\app\g_dawdy\product\11.2.0\client_2\odp.net\bin\2.x\Oracle.DataAccess.dll"
            Add-type -AssemblyName System.Data.OracleClient
            $con = New-Object Oracle.DataAccess.Client.OracleConnection("User Id=$DBUsername;Password=$DBPassword;Data Source=$DBName")     
            $con.Open()
            $cmd = New-Object Oracle.DataAccess.Client.OracleCommand
            $cmd.CommandText = "SELECT * FROM VOIP_VALIDATE "
            $da = New-Object Oracle.DataAccess.Client.OracleDataAdapter($cmd);

            $resultSet = New-Object System.Data.DataTable
            [Void]$da.fill($resultSet)

            $resultSet | Format-Table -AutoSize
            $con.Close()

不知道如何解决这个问题,但如果有人认为用一个不太合适、更复杂、性能更慢的替代品来替代行业标准的数据加载工具是一个好主意,那将是一件有趣的事情。我怀疑这是一个“建筑宇航员学”的案例。你是否可以使用外部表(即数据库之外的任何内容)?这将使你仍然能够用简单的方法而不是奇怪的方法来完成它。@davidardridge我可能是图腾柱上的矮人,所以我并不是真的给出一个很好的建筑/环境图片。我可以告诉你们的一件事是,我们正在慢慢地从Oracle转向MS SQL。这个Oracle数据库是仍然需要注意的关键数据库之一。@Ben我相信外部数据库可以使用,但您能详细说明一下它的外观吗?不是外部数据库。。。