Question Connexion odbc

Plus d'informations
il y a 17 ans 3 mois #3038 par steph_d
Connexion odbc a été créé par steph_d
Voilà un p'tit bout de code qui permet de se connecter à tout type de base via ODBC et ensuite de parcourir le resultat.

[code:1]
$commande = New-Object system.data.odbc.odbccommand
$connection = New-Object \"System.data.odbc.odbcconnection\"
$commande.connection = $connection
$dsn = \"DSN=nom_du_dsn_odbc;UID=utilisateur_bdd;PWD=mot_de_passe_utilisateur;\"
$connection.connectionString = $dsn
$connection.open()
$commande.CommandText = \"SELECT * FROM ...'\"
$DataAdapter = new-object System.Data.odbc.odbcDataAdapter($commande)
$DataSet = new-object System.Data.DataSet
$DataAdapter.Fill($DataSet)
ForEach ($table in $dataSet.Tables)
{
ForEach ($row In $table.Rows)
{
ForEach ($column in $table.Columns)
{
$row[$column]
}
}
}[/code:1]

Merci à Laurent pour l'astuce avec le DataSet.

Stephane<br><br>Message édité par: Arnaud, à: 22/10/08 17:11

@+ Steph

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 5 jours #3956 par steph_d
Réponse de steph_d sur le sujet Re:Connexion odbc
Pour faire des insertions des mises à jour c'est pas tout à fait la même commande.

[code:1]
$odbc.CommandText = \&quot;INSERT INTO ...\&quot;
$odbc.ExecuteNonQuery()
[/code:1]

Stephane

@+ Steph

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 13 ans 11 mois #11243 par Stif0668
Réponse de Stif0668 sur le sujet Re:Connexion odbc
Il y a plus simple pour toute commande SQL :

[code:1]$conec = « server=;database=;Integrated Security=sspi »
$cmd = « SELECT FROM WHERE »
$da = new-object System.Data.SqlClient.SqlDataAdapter ($cmd, $conec)
$dt = new-object System.Data.DataTable
$da.fill($dt)[/code:1]

La variable $cmd peut contenir n'importe quelle commande SQL (INSERT, UPDATE, DELETE, etc..)
Plus besoin de se prendre la tête avec le code powershell fonctionnant avec telle ou telle requete :-)

Le parametre \&quot;Integrated Security=sspi\&quot; permet d'utiliser l'authentification windows avec les serveur SQL par exemple.

Super pratique non ?

Le retour est contenu dans la variable $dt.

Par exemple si la commande était un SELECT, le résultat contenu dans $dt prend la forme d'un import-csv. Plutot pratique non ?

Essayez un petit [code:1]C:\$dt[/code:1] pour voir...<br><br>Message édité par: Stif0668, à: 27/02/12 16:31

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.065 secondes
Propulsé par Kunena