Je pense que je connais la solution à cela mais j'aimerais avoir une deuxième opinion.OLEDB tronquant le type de données Oracle LONG à 100 caractères
J'ai une fonction appelée Get-Data qui récupère et retourne un DataTable à partir d'une base de données Oracle. Maintenant, en raison de Powershell étant super utile, quand un seul enregistrement est retourné à partir d'Oracle, la fonction renvoie un DataRow au lieu d'un DataTable.
Lorsque cela se produit et que l'une des colonnes est un LONG DataType, le champ est tronqué à 100 caractères. La solution évidente est de retourner, $ dt et de modifier mon code pour gérer cela. Cependant, comme je l'ai dit, je voulais un deuxième avis.
Get-Data:
function Get-Data
{
[Cmdletbinding()]
Param
(
[Parameter(Position=0,Mandatory=$True)]$Conn,
[Parameter(Position=1,Mandatory=$True)]$sql
)
#Open the connection to the DB if closed
if($Conn.state -eq 'Closed')
{
$Conn.open()
}
#Create objects for querying the DB
$readcmd = New-Object system.Data.OleDb.OleDbCommand($sql,$Conn)
$readcmd.CommandTimeout = '300'
$da = New-Object system.Data.OleDb.OleDbDataAdapter($readcmd)
$dt = New-Object system.Data.datatable
#Query the DB and fill the DataTabe with records
[void]$da.fill($dt)
return $dt
}
J'ai essayé le retour, dt changer, en vain. Le problème persiste tant qu'un seul enregistrement est renvoyé. –