Question Connexion odbc
- steph_d
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 65
- Remerciements reçus 0
il y a 17 ans 3 mois #3038
par steph_d
@+ Steph
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
[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.
- steph_d
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 65
- Remerciements reçus 0
il y a 17 ans 5 jours #3956
par steph_d
@+ Steph
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 = \"INSERT INTO ...\"
$odbc.ExecuteNonQuery()
[/code:1]
Stephane
[code:1]
$odbc.CommandText = \"INSERT INTO ...\"
$odbc.ExecuteNonQuery()
[/code:1]
Stephane
@+ Steph
Connexion ou Créer un compte pour participer à la conversation.
- Stif0668
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 2
- Remerciements reçus 0
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 \"Integrated Security=sspi\" 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
[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 \"Integrated Security=sspi\" 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
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Contributions à la communauté
- Connexion odbc