Dans une tentative de refactoriser une partie de mon code, j'ai ajouté une fonction pour configurer un OleDbDataReader
.DbDataRecord retourné d'une fonction au lieu d'un DataReader/OleDbDataReader
La valeur de retour que j'obtiens est pour une raison inconnue un System.Data.Common.DbDataRecord
.
Juste avant la fonction retournant l'objet, j'ai vérifié pour voir qu'il s'agit bien d'un DataReader
.
est ici le code de la fonction:
function Execute-Reader
{
param($conObj = $(throw "conObj parameter required"),
$sqlStr = $(throw "sqlStr parameter required"))
$cmd = New-Object system.data.oledb.oledbcommand
$cmd.connection = $conObj
$cmd.commandtext = $sqlStr
$reader = $cmd.executereader()
return [System.Data.OleDb.OleDbDataReader]$reader
}
et être appelé avec les éléments suivants
$reader = Execute-Reader $conObj $query
Il n'y a pas d'exceptions. Le seul problème est que le lecteur $ est le type incorrect. En quelque sorte casté, ou quelque chose.