我希望使用PowerShell脚本将制表符分隔文本文件中的数据插入到Oracle 11g数据库中。我意识到可能有更好的工具或方法可以做到这一点,但我已经完成了一项任务,我的工具也很有限。我以前的脚本使用SQLLDR命令加载数据,但我需要重写没有SQLLDR的脚本
到目前为止,我一直在研究使用一些ODP .NET功能以及OleDBConnections,但我似乎每次遇到障碍。
我希望在ODP .NET中使用OracleDataAcess和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()