我希望使用 PowerShell 脚本将制表符分隔的文本文件中的数据插入到 Oracle 11g 数据库中。我意识到可能有更好的工具或方法来做到这一点,但我被赋予了一项任务,我的工具是有限的。我之前的脚本使用 SQLLDR 命令加载数据,但我需要在没有 SQLLDR 的情况下重写脚本
到目前为止,我一直在研究使用一些 ODP .NET 功能以及 OleDBConnections,但我似乎每次都遇到了障碍。
我希望使用 ODP .NET 中的 OracleDataAcess 和 OracleDataTable 方法能够将数据从我的制表符分隔文件加载到表中。不幸的是,我对 Oracle 和 .NET 还很陌生,所以我不确定如何最好地加载数据。
下面是一些让我可以访问 Oracle 的功能。查询只是对数据库中表的简单选择语句。
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()