Search notes:
Oracle.ManagedDataAccess.Client.OracleBulkCopy (class)
# using namespace OracleManagedDataAccess.Client
add-type -path h:\Oracle.ManagedDataAccess.19.11.0.dll # Windows Server 2019
$conSrc = new-object Oracle.ManagedDataAccess.Client.OracleConnection "Data Source=‥; User Id=‥; password=‥"
$conDst = new-object Oracle.ManagedDataAccess.Client.OracleConnection "Data Source=‥; User Id=‥; password=‥"
$conSrc.Open()
$conDst.Open()
$cmd = $conDst.CreateCommand()
$cmd.CommandText = "drop table tq84_copied_objs purge"
$null = $cmd.ExecuteNonQuery() # returns -1
$cmd.CommandText = "create table tq84_copied_objs as select * from user_objects where rownum = 0"
$null = $cmd.ExecuteNonQuery()
$datTbl = new-object System.Data.DataTable
$datAdp = new-object Oracle.ManagedDataAccess.Client.OracleDataAdapter("select * from user_objects", $conSrc)
$nofRec = $datAdp.Fill($datTbl)
write-host "Filled $nofRec records"
$oraCpy = new-object Oracle.ManagedDataAccess.Client.OracleBulkCopy $conDst
$oraCpy.DestinationTableName = "tq84_copied_objs";
$oraCpy.WriteToServer($datTbl)
$conSrc.Close()
$conDst.Close()
When I used a OracleBulkCopy
in a Windows 2019 Server environment with .Net version 4.7.01390 ((get-itemProperty 'hklm:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full').version
), I had to use ManagedDataAccess 19.11.0.