Question
Intégration données SQL
- Dead
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 2
il y a 4 mois 1 semaine #34384
par Dead
Réponse de Dead sur le sujet Intégration données SQL
Bonjour Fabien,
Effectivement, les deux variables citées ne remontent rien...
Pfiou....
Effectivement, les deux variables citées ne remontent rien...
Pfiou....
Connexion ou Créer un compte pour participer à la conversation.
- Dead
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 2
il y a 4 mois 1 semaine #34410
par Dead
Réponse de Dead sur le sujet Intégration données SQL
Bonjour,
Ce sujet peut être clos, j'ai réussi en faisant un script dédié pour la connexion sql et le requêtage, en python.
Je vous remercie pour votre aide
Ce sujet peut être clos, j'ai réussi en faisant un script dédié pour la connexion sql et le requêtage, en python.
Je vous remercie pour votre aide
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 4 mois 3 jours #34427
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Intégration données SQL
Bonsoir Dead,
Si tu as réussi à le faire en Python, tu devrais pouvoir y arriver en PowerShell également...
Tu ne penses pas ?
Arnaud
Si tu as réussi à le faire en Python, tu devrais pouvoir y arriver en PowerShell également...
Tu ne penses pas ?
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Dead
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 2
il y a 4 mois 3 jours #34430
par Dead
Réponse de Dead sur le sujet Intégration données SQL
Bonjour Arnaud,
Effectivement, PowerShell doit le permettre étant orienté objet. Mais aucune idée pourquoi malgré la connexion à la BDD, la requête n'affichait rien, aucun résultat, alors qu'avec Python j'y suis arrivé avec la même requête. Ce sont sans doutes mes compétences qui sont encore trop justes sur PowerShell
Effectivement, PowerShell doit le permettre étant orienté objet. Mais aucune idée pourquoi malgré la connexion à la BDD, la requête n'affichait rien, aucun résultat, alors qu'avec Python j'y suis arrivé avec la même requête. Ce sont sans doutes mes compétences qui sont encore trop justes sur PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 4 mois 3 jours #34431
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Intégration données SQL
Salut Dead,
Si tu veux convertir ton script Python en PowerShell, poste-le dans le forum. Je pense qu'on devrait y arriver.
Arnaud
Si tu veux convertir ton script Python en PowerShell, poste-le dans le forum. Je pense qu'on devrait y arriver.
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Dead
- Auteur du sujet
- Hors Ligne
- Membre senior
Réduire
Plus d'informations
- Messages : 69
- Remerciements reçus 2
il y a 4 mois 20 heures #34440
par Dead
Réponse de Dead sur le sujet Intégration données SQL
Bonjour Arnaud,
Je me suis remis à tenter de faire le script sous PowerShell.
En me basant sur mon script Python, j'ai enfin réussi!
Voici le code que j'ai fait:
Je suis certain que ce code peut être amélioré. Mais il a fait le job de mon côté^^
Je me suis remis à tenter de faire le script sous PowerShell.
En me basant sur mon script Python, j'ai enfin réussi!
Voici le code que j'ai fait:
# Informations de connexion à la base de données
$databaseHost = "srvsql"
$databasePort = 1521
$databaseSID = "User_SID"
$databaseUser = "DB_USER"
$databasePwd = "DB_PWD"
# Charger le module Oracle Data Provider for .NET (ODP.NET)
Add-Type -Path "C:\oracle\product\19.0.0\client_1\ODP.NET\managed\common\Oracle.ManagedDataAccess.dll"
# Fonction pour récupérer tous les codes programme et codes biens
function Get-AllCodes {
$connectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$databaseHost)(PORT=$databasePort))(CONNECT_DATA=(SERVICE_NAME=$databaseSID)));User Id=$databaseUser;Password=$databasePwd;"
$connection = New-Object Oracle.ManagedDataAccess.Client.OracleConnection($connectionString)
try {
$connection.Open()
# Requête SQL pour récupérer tous les codes programme et codes biens
$query = "SELECT DISTINCT code_ulis FROM vue_patrimoine WHERE code_nature IN ('MA','APPT')"
$command = $connection.CreateCommand()
$command.CommandText = $query
# Exécution de la requête
$data = $command.ExecuteReader()
$codes = @()
while ($data.Read()) {
$code = $data["code_ulis"]
$codes += $code
}
Write-Host "Nombre de codes récupérés: " $codes.Count
return $codes
} catch {
# Log des erreurs
$_ | Out-File -FilePath "C:\DB\error.log" -Append
return $null
} finally {
$connection.Close()
}
}
# Fonction pour récupérer les données de la base pour un code spécifique
function Get-Data {
param (
[string]$codeProgramme,
[string]$codeBien
)
$connectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$databaseHost)(PORT=$databasePort))(CONNECT_DATA=(SERVICE_NAME=$databaseSID)));User Id=$databaseUser;Password=$databasePwd;"
$connection = New-Object Oracle.ManagedDataAccess.Client.OracleConnection($connectionString)
try {
$connection.Open()
# Requête SQL
$query = "SELECT type_convention, DT_MLO FROM vue_patrimoine WHERE code_ulis = '$codeProgramme.$codeBien' AND code_nature IN ('MA','APPT')"
$command = $connection.CreateCommand()
$command.CommandText = $query
Write-Host "Exécution de la requête: $query"
# Exécution de la requête
$data = $command.ExecuteReader()
$results = @()
while ($data.Read()) {
$row = [PSCustomObject]@{
type_convention = $data["type_convention"]
DT_MLO = $data["DT_MLO"]
}
$results += $row
}
Write-Host "Nombre de lignes récupérées pour $codeProgramme.$codeBien: " $results.Count
return $results
} catch {
# Log des erreurs
$_ | Out-File -FilePath "C:\DB\error.log" -Append
return $null
} finally {
$connection.Close()
}
}
# Récupérer tous les codes programme et codes biens
$allCodes = Get-AllCodes
if ($allCodes) {
$results = @()
foreach ($code in $allCodes) {
$parts = $code.Split('.')
if ($parts.Length -eq 3) {
$codeProgramme = "$($parts[0]).$($parts[1])"
$codeBien = $parts[2]
$data = Get-UlisData -codeProgramme $codeProgramme -codeBien $codeBien
if ($data) {
$results += $data
}
}
}
# Enregistrer les résultats dans un fichier CSV
if ($results) {
$results | Export-Csv -Path "C:\DB\file.csv" -NoTypeInformation
} else {
Write-Host "Aucune donnée récupérée."
}
} else {
Write-Host "Impossible de récupérer les codes programme et codes biens."
}
Je suis certain que ce code peut être amélioré. Mais il a fait le job de mon côté^^
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.082 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les débutants
- Intégration données SQL