Question
[Résolu] Exploitation de CSV avec OLEDB
- zaerazerazer
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 49
- Remerciements reçus 0
il y a 11 ans 2 mois #19169
par zaerazerazer
En cours de découverte du GraalPowershell !
[Résolu] Exploitation de CSV avec OLEDB a été créé par zaerazerazer
Bonjour,
J'aimerais récupérer une donnée contenu dans un fichier CSV.
Etant donné que mon fichier est assez conséquent (et après recherche sur le net) j'ai choisis l'utilisation de OLEDB.
Voilà ce que donne ma première esquisse :
[code:1]
$filepath = \"\\monserv\E:\dossier1\1-sousdossier1\sousdossier2\AnnuStructure.csv\"
$connString = \"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=`\"$filepath`\";Extended Properties=`\"text;HDR=yes;FMT=Delimited`\";\"
$qry = 'SELECT StructureResponsable FROM [AnnuStruture.csv] WHERE StructureCode=0101'
$conn = new-object System.Data.OleDb.OleDbConnection($connString)
$conn.open()
$cmd = new-object System.Data.OleDb.OleDbCommand($qry,$conn)
$da = new-object System.Data.OleDb.OleDbDataAdapter($cmd)
$dt = new-object System.Data.dataTable
$null = $da.fill($dt)
$conn.close()
$dt
[/code:1]
Mais il cela me retoune cette erreur :
[code:1]
Exception lors de l'appel de « Open » avec « 0 » argument(s) : « Le fournisseur 'Microsoft.ACE.OLEDB.12.0' n'est pas in
scrit sur l'ordinateur local. »
Au niveau de C:\chemin : 8 Caractère : 11
+ $conn.open <<<< ()
+ CategoryInfo : NotSpecified: (:«») [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
Exception lors de l'appel de « Fill » avec « 1 » argument(s) : « Le fournisseur 'Microsoft.ACE.OLEDB.12.0' n'est pas in
scrit sur l'ordinateur local. »
Au niveau de C:\chemin : 12 Caractère : 17
+ $null = $da.fill <<<< ($dt)
+ CategoryInfo : NotSpecified: (:«») [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException[/code:1]
Je pense que j'ai du oublié de charger un module ou quelque chose mais je ne trouve pas sur le net, des idées ?
Merci d'avance !<br><br>Message édité par: Tibo54, à: 4/03/15 10:55
J'aimerais récupérer une donnée contenu dans un fichier CSV.
Etant donné que mon fichier est assez conséquent (et après recherche sur le net) j'ai choisis l'utilisation de OLEDB.
Voilà ce que donne ma première esquisse :
[code:1]
$filepath = \"\\monserv\E:\dossier1\1-sousdossier1\sousdossier2\AnnuStructure.csv\"
$connString = \"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=`\"$filepath`\";Extended Properties=`\"text;HDR=yes;FMT=Delimited`\";\"
$qry = 'SELECT StructureResponsable FROM [AnnuStruture.csv] WHERE StructureCode=0101'
$conn = new-object System.Data.OleDb.OleDbConnection($connString)
$conn.open()
$cmd = new-object System.Data.OleDb.OleDbCommand($qry,$conn)
$da = new-object System.Data.OleDb.OleDbDataAdapter($cmd)
$dt = new-object System.Data.dataTable
$null = $da.fill($dt)
$conn.close()
$dt
[/code:1]
Mais il cela me retoune cette erreur :
[code:1]
Exception lors de l'appel de « Open » avec « 0 » argument(s) : « Le fournisseur 'Microsoft.ACE.OLEDB.12.0' n'est pas in
scrit sur l'ordinateur local. »
Au niveau de C:\chemin : 8 Caractère : 11
+ $conn.open <<<< ()
+ CategoryInfo : NotSpecified: (:«») [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
Exception lors de l'appel de « Fill » avec « 1 » argument(s) : « Le fournisseur 'Microsoft.ACE.OLEDB.12.0' n'est pas in
scrit sur l'ordinateur local. »
Au niveau de C:\chemin : 12 Caractère : 17
+ $null = $da.fill <<<< ($dt)
+ CategoryInfo : NotSpecified: (:«») [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException[/code:1]
Je pense que j'ai du oublié de charger un module ou quelque chose mais je ne trouve pas sur le net, des idées ?
Merci d'avance !<br><br>Message édité par: Tibo54, à: 4/03/15 10:55
En cours de découverte du GraalPowershell !
Connexion ou Créer un compte pour participer à la conversation.
- xyz
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 69
il y a 11 ans 2 mois #19172
par xyz
Tutoriels PowerShell
Réponse de xyz sur le sujet Re:Exploitation de CSV avec OLEDB
Salut,
peut être dois-tu installer les providers OLEDB 32 bits et/ou 64 bits.
A moins que ta chaîne de connexion ne soit en phase avec ta version d'Office.
peut être dois-tu installer les providers OLEDB 32 bits et/ou 64 bits.
A moins que ta chaîne de connexion ne soit en phase avec ta version d'Office.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- zaerazerazer
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 49
- Remerciements reçus 0
il y a 11 ans 2 mois #19174
par zaerazerazer
En cours de découverte du GraalPowershell !
Réponse de zaerazerazer sur le sujet Re:Exploitation de CSV avec OLEDB
Salut laurent,
Mmh j'ai essayer de chercher pendant une heure avec ce oleDB, j'ai finalement abandonné pour écrire une fonction sans l'utilisation d'autre choses.
Voici ce que ça donne :
[code:1]
Function FRechercheManager
{Param ([string]$service)
$TabManager = Import-Csv -Path \"\\monserv\dossier1\AnnuStructure.csv\" -Delimiter \";\"
# $tabmanager
foreach ($lignemanager in $TabManager)
{
if ($service -eq $lignemanager.StructureCode)
{
$manager = $lignemanager.StructureResponsable
}
}
return $manager
}
$nomService = \"noduservice\"
$ResultatRechercheManager = FRechercheManager $nomService
echo \"Manager : $ResultatRechercheManager\"
[/code:1]
Et l'éxécution est instantanée donc tant pis
Merci et bonne journée.
Mmh j'ai essayer de chercher pendant une heure avec ce oleDB, j'ai finalement abandonné pour écrire une fonction sans l'utilisation d'autre choses.
Voici ce que ça donne :
[code:1]
Function FRechercheManager
{Param ([string]$service)
$TabManager = Import-Csv -Path \"\\monserv\dossier1\AnnuStructure.csv\" -Delimiter \";\"
# $tabmanager
foreach ($lignemanager in $TabManager)
{
if ($service -eq $lignemanager.StructureCode)
{
$manager = $lignemanager.StructureResponsable
}
}
return $manager
}
$nomService = \"noduservice\"
$ResultatRechercheManager = FRechercheManager $nomService
echo \"Manager : $ResultatRechercheManager\"
[/code:1]
Et l'éxécution est instantanée donc tant pis
Merci et bonne journée.
En cours de découverte du GraalPowershell !
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.037 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- [Résolu] Exploitation de CSV avec OLEDB