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 3 semaines #34304
par Dead
Intégration données SQL a été créé par Dead
Bonjour à tous,
J'ai besoin de votre aide pour solutionner deux soucis. J'ai fait un script qui récupère des fichiers, les transcodent et doit ajouter des données prises dans une base Oracle SQL.
Voici le script en question (j'ai modifié certains champs pour ne pas divulguer d'informations confidentielles, évidemment ).
Le voici:
# Spécifier le chemin du répertoire contenant les fichiers XML
$repertoire = @(
"E:\Conteneur\Biens_22\",
"E:\Conteneur\Biens_29\",
"E:\Conteneur\Biens_35\",
"E:\Conteneur\Biens_56\"
)
# Obtenir la liste de tous les fichiers XML dans le répertoire et ses sous-répertoires
$fichiersXML = Get-ChildItem -Path $repertoire -Filter *.xml -Recurse
foreach ($fichier in $fichiersXML) {
# Charger le contenu du fichier XML
$xmlContent = [xml](Get-Content -Path $fichier.FullName -Raw)
# Supprimer les lignes contenant les balises spécifiées
$nodesToRemove = $xmlContent.SelectNodes('//bien-eau-chaude-charge | //bien-eau-froide-charge | //bien-chauffage-charge | //bien-ascenseur-charge')
if ($nodesToRemove -ne $null) {
foreach ($node in $nodesToRemove) {
$parent = $node.ParentNode
if ($parent -ne $null) {
$parent.RemoveChild($node) | Out-Null
Write-Host "Balise supprimée : $($node.OuterXml)"
}
}
} else {
Write-Host "Aucune balise à supprimer trouvée dans : $($fichier.FullName)"
}
# Initialiser une variable pour savoir si le fichier nécessite un e-mail
$sendEmail = $false
# Parcourir chaque élément <bien> dans le fichier XML
foreach ($bien in $xmlContent.SelectNodes('//biens/bien')) {
# Etape 1 : Transcoder le code du programme
$bienDpt = $bien.SelectSingleNode('bien-identification/bien-dpt').InnerText
$programmeCode = $bien.SelectSingleNode('bien-identification/bien-programme').InnerText
$newProgrammeCode = switch -exact ($bienDpt) {
22 { "12" + $programmeCode }
29 { "19" + $programmeCode }
35 { "13" + $programmeCode }
56 { "15" + $programmeCode }
default { $programmeCode }
}
$bien.SelectSingleNode('bien-identification/bien-programme').InnerText = $newProgrammeCode
# Etape 2 : Transcoder le code du bien
$bienCode = $bien.SelectSingleNode('bien-identification/bien-code').InnerText
$newBienCode = $bienCode -replace '\..*\.', ''
$bien.SelectSingleNode('bien-identification/bien-code').InnerText = $newBienCode
# Etape 3 : Transcoder le code de l’agence de gestion
$prgUgeCode = $bien.SelectSingleNode('prog-infos/prg-uge-code').InnerText
$newPrgUgeCode = switch -wildcard ($bienDpt) {
22 {
switch ($prgUgeCode) {
'AG122' { '1' }
default { $prgUgeCode }
}
}
29 {
switch ($prgUgeCode) {
'AG129' { '1' }
default { $prgUgeCode }
}
}
35 {
switch ($prgUgeCode) {
'AG135' { '013' }
default { $prgUgeCode }
}
}
56 {
switch ($prgUgeCode) {
'AG135' { '001' }
default { $prgUgeCode }
}
}
default { $prgUgeCode }
}
$bien.SelectSingleNode('prog-infos/prg-uge-code').InnerText = $newPrgUgeCode
# Etape 4 : Transcoder l’adresse mail de compte rendu
$adresseMailLogNode = $bien.SelectSingleNode('//adr-mail-log')
# Vérifier si le nœud existe avant de tenter de modifier sa propriété
if ($adresseMailLogNode -ne $null) {
$currentAdresseMailLog = $adresseMailLogNode.InnerText
# Vérifier si le contenu actuel correspond à l'ancienne adresse mail
if ($currentAdresseMailLog -eq 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.') {
$adresseMailLogNode.InnerText = 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'
}
}
# Si nous sommes ici, c'est qu'il y a au moins un bien à transcoder
$sendEmail = $true
}
# Enregistrez le nouveau fichier XML dans le dossier de destination
$destinationFolder = switch -wildcard ($bienDpt) {
22 { "E:\DepartFichiers\22" }
29 { "E:\DepartFichiers\29" }
35 { "E:\DepartFichiers\35" }
56 { "E:\DepartFichiers\56" }
default { "E:\Autre" }
}
$destinationPath = Join-Path -Path $destinationFolder -ChildPath ($fichier.BaseName + "_modifie.xml")
$xmlContent.Save($destinationPath)
# Vérifier s'il faut envoyer un e-mail et si le fichier transcodé existe
if ($sendEmail -and (Test-Path $destinationPath)) {
# Envoyer un e-mail
$smtpServer = "smtp.office365.com"
$smtpPort = 587
$smtpFrom = "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser."
$subject = "Transcodage - Fichiers"
$body = "Le fichier XML $($fichier.Name) a été transcodé avec succès et enregistré dans le dossier $destinationFolder."
# Adresses e-mail pour l'envoi de l'e-mail
$smtpTo = "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.", "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser."
# Nom d'utilisateur et mot de passe pour l'authentification SMTP
$smtpUsername = "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser."
$smtpPassword = ConvertTo-SecureString -String "passW0rd!*" -AsPlainText -Force
# Créer un objet de crédential
$smtpCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $smtpUsername, $smtpPassword
# Envoi du mail
Send-MailMessage -SmtpServer $smtpServer -Port $smtpPort -UseSsl -From $smtpFrom -To $smtpTo -Subject $subject -Body $body -Credential $smtpCredential -BodyEncoding ([System.Text.Encoding]::UTF8)
}
}
# Débloquer la DLL
Unblock-File -Path "C:\oracle\product\19.0.0\client_1\ODP.NET\managed\common\Oracle.ManagedDataAccess.dll"
# Charger l'assembly Oracle.ManagedDataAccess.Client avec gestion des exceptions
try {
[System.Reflection.Assembly]::LoadFrom("C:\oracle\product\19.0.0\client_1\ODP.NET\managed\common\Oracle.ManagedDataAccess.dll")
Write-Output "DLL chargée avec succès."
} catch {
Write-Output "Erreur lors du chargement de la DLL : $_"
}
# Spécifier les informations de connexion à la base de données Oracle
$oracleHost = "srvsql"
$oraclePort = "1521"
$oracleSID = "SID"
$oracleUser = "USER"
$oraclePwd = "password"
# Créer une chaîne de connexion à la base de données Oracle
$oracleConnectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$oracleHost)(PORT=$oraclePort))(CONNECT_DATA=(SERVICE_NAME=$oracleSID)));User Id=$oracleUser;Password=$oraclePwd;"
# Créer une nouvelle connexion Oracle
$conn = New-Object Oracle.ManagedDataAccess.Client.OracleConnection($oracleConnectionString)
try {
# Ouvrir la connexion
$conn.Open()
Write-Output "Connexion réussie"
# Étape 1 : Enrichir le fichier de bien avec des données récupérées dans la base Ulis
# Exécuter la requête SQL pour obtenir les données
$commandText = "SELECT code_ulis, type_convention, DT_MLO FROM salf_vue_patrimoine2 "
$command = New-Object Oracle.ManagedDataAccess.Client.OracleCommand($commandText, $conn)
$dataReader = $command.ExecuteReader()
if ($dataReader.Read()) {
$typeConvention = $dataReader["type_convention"]
$DT_MLO = $dataReader["DT_MLO"]
# Charger le fichier XML (supposons que $xmlContent contient déjà le contenu XML)
$xmlContent = [xml](Get-Content -Path $fichier.FullName -Raw)
# Ajouter les données dans le fichier XML
$bienConventionNode = $xmlContent.CreateElement("bien-convention")
$bienConventionNode.InnerText = $typeConvention
$xmlContent.SelectSingleNode('//bien-finan-actuel').AppendChild($bienConventionNode)
if ($DT_MLO -ne [System.DBNull]::Value) {
$bienDatMesNode = $xmlContent.CreateElement("bien-datmes")
$bienDatMesNode.InnerText = $DT_MLO
$xmlContent.SelectSingleNode('//bien-date-premloc').AppendChild($bienDatMesNode)
}
}
$dataReader.Close()
} catch {
Write-Output "Erreur lors de la connexion ou de l'exécution de la requête : $_"
} finally {
# Fermer la connexion
if ($conn.State -eq [System.Data.ConnectionState]::Open) {
$conn.Close()
}
}
# Supprimer le fichier source
Remove-Item -Path $fichier.FullName -Force
Ma problématique: dans le fichier modifié, les balises qui doivent être supprimées ne le sont pas ( # Supprimer les lignes contenant les balises spécifiées
$nodesToRemove = $xmlContent.SelectNodes('//bien-eau-chaude-charge | //bien-eau-froide-charge | //bien-chauffage-charge | //bien-ascenseur-charge')
De plus, les données sql ne sont pas ajoutées au fichier modifié.
Auriez vous une idée comment ajuster ce script pour résoudre ces soucis?
Je vous remercie!
J'ai besoin de votre aide pour solutionner deux soucis. J'ai fait un script qui récupère des fichiers, les transcodent et doit ajouter des données prises dans une base Oracle SQL.
Voici le script en question (j'ai modifié certains champs pour ne pas divulguer d'informations confidentielles, évidemment ).
Le voici:
# Spécifier le chemin du répertoire contenant les fichiers XML
$repertoire = @(
"E:\Conteneur\Biens_22\",
"E:\Conteneur\Biens_29\",
"E:\Conteneur\Biens_35\",
"E:\Conteneur\Biens_56\"
)
# Obtenir la liste de tous les fichiers XML dans le répertoire et ses sous-répertoires
$fichiersXML = Get-ChildItem -Path $repertoire -Filter *.xml -Recurse
foreach ($fichier in $fichiersXML) {
# Charger le contenu du fichier XML
$xmlContent = [xml](Get-Content -Path $fichier.FullName -Raw)
# Supprimer les lignes contenant les balises spécifiées
$nodesToRemove = $xmlContent.SelectNodes('//bien-eau-chaude-charge | //bien-eau-froide-charge | //bien-chauffage-charge | //bien-ascenseur-charge')
if ($nodesToRemove -ne $null) {
foreach ($node in $nodesToRemove) {
$parent = $node.ParentNode
if ($parent -ne $null) {
$parent.RemoveChild($node) | Out-Null
Write-Host "Balise supprimée : $($node.OuterXml)"
}
}
} else {
Write-Host "Aucune balise à supprimer trouvée dans : $($fichier.FullName)"
}
# Initialiser une variable pour savoir si le fichier nécessite un e-mail
$sendEmail = $false
# Parcourir chaque élément <bien> dans le fichier XML
foreach ($bien in $xmlContent.SelectNodes('//biens/bien')) {
# Etape 1 : Transcoder le code du programme
$bienDpt = $bien.SelectSingleNode('bien-identification/bien-dpt').InnerText
$programmeCode = $bien.SelectSingleNode('bien-identification/bien-programme').InnerText
$newProgrammeCode = switch -exact ($bienDpt) {
22 { "12" + $programmeCode }
29 { "19" + $programmeCode }
35 { "13" + $programmeCode }
56 { "15" + $programmeCode }
default { $programmeCode }
}
$bien.SelectSingleNode('bien-identification/bien-programme').InnerText = $newProgrammeCode
# Etape 2 : Transcoder le code du bien
$bienCode = $bien.SelectSingleNode('bien-identification/bien-code').InnerText
$newBienCode = $bienCode -replace '\..*\.', ''
$bien.SelectSingleNode('bien-identification/bien-code').InnerText = $newBienCode
# Etape 3 : Transcoder le code de l’agence de gestion
$prgUgeCode = $bien.SelectSingleNode('prog-infos/prg-uge-code').InnerText
$newPrgUgeCode = switch -wildcard ($bienDpt) {
22 {
switch ($prgUgeCode) {
'AG122' { '1' }
default { $prgUgeCode }
}
}
29 {
switch ($prgUgeCode) {
'AG129' { '1' }
default { $prgUgeCode }
}
}
35 {
switch ($prgUgeCode) {
'AG135' { '013' }
default { $prgUgeCode }
}
}
56 {
switch ($prgUgeCode) {
'AG135' { '001' }
default { $prgUgeCode }
}
}
default { $prgUgeCode }
}
$bien.SelectSingleNode('prog-infos/prg-uge-code').InnerText = $newPrgUgeCode
# Etape 4 : Transcoder l’adresse mail de compte rendu
$adresseMailLogNode = $bien.SelectSingleNode('//adr-mail-log')
# Vérifier si le nœud existe avant de tenter de modifier sa propriété
if ($adresseMailLogNode -ne $null) {
$currentAdresseMailLog = $adresseMailLogNode.InnerText
# Vérifier si le contenu actuel correspond à l'ancienne adresse mail
if ($currentAdresseMailLog -eq 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.') {
$adresseMailLogNode.InnerText = 'Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.'
}
}
# Si nous sommes ici, c'est qu'il y a au moins un bien à transcoder
$sendEmail = $true
}
# Enregistrez le nouveau fichier XML dans le dossier de destination
$destinationFolder = switch -wildcard ($bienDpt) {
22 { "E:\DepartFichiers\22" }
29 { "E:\DepartFichiers\29" }
35 { "E:\DepartFichiers\35" }
56 { "E:\DepartFichiers\56" }
default { "E:\Autre" }
}
$destinationPath = Join-Path -Path $destinationFolder -ChildPath ($fichier.BaseName + "_modifie.xml")
$xmlContent.Save($destinationPath)
# Vérifier s'il faut envoyer un e-mail et si le fichier transcodé existe
if ($sendEmail -and (Test-Path $destinationPath)) {
# Envoyer un e-mail
$smtpServer = "smtp.office365.com"
$smtpPort = 587
$smtpFrom = "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser."
$subject = "Transcodage - Fichiers"
$body = "Le fichier XML $($fichier.Name) a été transcodé avec succès et enregistré dans le dossier $destinationFolder."
# Adresses e-mail pour l'envoi de l'e-mail
$smtpTo = "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.", "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser."
# Nom d'utilisateur et mot de passe pour l'authentification SMTP
$smtpUsername = "Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser."
$smtpPassword = ConvertTo-SecureString -String "passW0rd!*" -AsPlainText -Force
# Créer un objet de crédential
$smtpCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $smtpUsername, $smtpPassword
# Envoi du mail
Send-MailMessage -SmtpServer $smtpServer -Port $smtpPort -UseSsl -From $smtpFrom -To $smtpTo -Subject $subject -Body $body -Credential $smtpCredential -BodyEncoding ([System.Text.Encoding]::UTF8)
}
}
# Débloquer la DLL
Unblock-File -Path "C:\oracle\product\19.0.0\client_1\ODP.NET\managed\common\Oracle.ManagedDataAccess.dll"
# Charger l'assembly Oracle.ManagedDataAccess.Client avec gestion des exceptions
try {
[System.Reflection.Assembly]::LoadFrom("C:\oracle\product\19.0.0\client_1\ODP.NET\managed\common\Oracle.ManagedDataAccess.dll")
Write-Output "DLL chargée avec succès."
} catch {
Write-Output "Erreur lors du chargement de la DLL : $_"
}
# Spécifier les informations de connexion à la base de données Oracle
$oracleHost = "srvsql"
$oraclePort = "1521"
$oracleSID = "SID"
$oracleUser = "USER"
$oraclePwd = "password"
# Créer une chaîne de connexion à la base de données Oracle
$oracleConnectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=$oracleHost)(PORT=$oraclePort))(CONNECT_DATA=(SERVICE_NAME=$oracleSID)));User Id=$oracleUser;Password=$oraclePwd;"
# Créer une nouvelle connexion Oracle
$conn = New-Object Oracle.ManagedDataAccess.Client.OracleConnection($oracleConnectionString)
try {
# Ouvrir la connexion
$conn.Open()
Write-Output "Connexion réussie"
# Étape 1 : Enrichir le fichier de bien avec des données récupérées dans la base Ulis
# Exécuter la requête SQL pour obtenir les données
$commandText = "SELECT code_ulis, type_convention, DT_MLO FROM salf_vue_patrimoine2 "
$command = New-Object Oracle.ManagedDataAccess.Client.OracleCommand($commandText, $conn)
$dataReader = $command.ExecuteReader()
if ($dataReader.Read()) {
$typeConvention = $dataReader["type_convention"]
$DT_MLO = $dataReader["DT_MLO"]
# Charger le fichier XML (supposons que $xmlContent contient déjà le contenu XML)
$xmlContent = [xml](Get-Content -Path $fichier.FullName -Raw)
# Ajouter les données dans le fichier XML
$bienConventionNode = $xmlContent.CreateElement("bien-convention")
$bienConventionNode.InnerText = $typeConvention
$xmlContent.SelectSingleNode('//bien-finan-actuel').AppendChild($bienConventionNode)
if ($DT_MLO -ne [System.DBNull]::Value) {
$bienDatMesNode = $xmlContent.CreateElement("bien-datmes")
$bienDatMesNode.InnerText = $DT_MLO
$xmlContent.SelectSingleNode('//bien-date-premloc').AppendChild($bienDatMesNode)
}
}
$dataReader.Close()
} catch {
Write-Output "Erreur lors de la connexion ou de l'exécution de la requête : $_"
} finally {
# Fermer la connexion
if ($conn.State -eq [System.Data.ConnectionState]::Open) {
$conn.Close()
}
}
# Supprimer le fichier source
Remove-Item -Path $fichier.FullName -Force
Ma problématique: dans le fichier modifié, les balises qui doivent être supprimées ne le sont pas ( # Supprimer les lignes contenant les balises spécifiées
$nodesToRemove = $xmlContent.SelectNodes('//bien-eau-chaude-charge | //bien-eau-froide-charge | //bien-chauffage-charge | //bien-ascenseur-charge')
De plus, les données sql ne sont pas ajoutées au fichier modifié.
Auriez vous une idée comment ajuster ce script pour résoudre ces soucis?
Je vous remercie!
Connexion ou Créer un compte pour participer à la conversation.
- Fabien
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 140
- Remerciements reçus 20
il y a 4 mois 3 semaines #34306
par Fabien
Réponse de Fabien sur le sujet Intégration données SQL
Bonjour Dead,
Pour ta problématique, il faut enregistrer au fur et à mesure tes modifications des fichiers XML.
Dans ta première boucle Foreach pour supprimer des noeuds, rajoute ceci :
Pour ta problématique, il faut enregistrer au fur et à mesure tes modifications des fichiers XML.
Dans ta première boucle Foreach pour supprimer des noeuds, rajoute ceci :
# Supprimer les lignes contenant les balises spécifiées
$nodesToRemove = $xmlContent.SelectNodes('//bien-eau-chaude-charge | //bien-eau-froide-charge | //bien-chauffage-charge | //bien-ascenseur-charge')
if ($nodesToRemove -ne $null) {
foreach ($node in $nodesToRemove) {
$parent = $node.ParentNode
if ($parent -ne $null) {
$parent.RemoveChild($node) | Out-Null
$destinationPath = Join-Path -Path "E:\Nouveau dossier" -ChildPath ($fichier.BaseName + "_modifie.xml")
$xmlContent.Save($destinationPath)
Write-Host "Balise supprimée : $($node.OuterXml)"
}
}
} else {
Write-Host "Aucune balise à supprimer trouvée dans : $($fichier.FullName)"
}
Connexion ou Créer un compte pour participer à la conversation.
- ericlm128
- Visiteur
il y a 4 mois 3 semaines #34307
par ericlm128
Réponse de ericlm128 sur le sujet Intégration données SQL
Ce sujet est donc résolu ? www.powershell-scripting.com/index.php/f...nn%C3%A9es-bdd#34148
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 semaines #34311
par Dead
Réponse de Dead sur le sujet Intégration données SQL
Bonjour ericlm128,
Oui, j'ai mis dans ce post la configuration qui m'a permit de corriger.
Concernant ce post-ci, c'est ok pour les balises.
Reste à voir comment importer les données de la requête dans le fichier modifié par le script. Pour que le type convention match bien avec le code du bien. Je ne vois pas comment faire.
Je vous remercie
Oui, j'ai mis dans ce post la configuration qui m'a permit de corriger.
Concernant ce post-ci, c'est ok pour les balises.
Reste à voir comment importer les données de la requête dans le fichier modifié par le script. Pour que le type convention match bien avec le code du bien. Je ne vois pas comment faire.
Je vous remercie
Connexion ou Créer un compte pour participer à la conversation.
- Fabien
- Hors Ligne
- Membre premium
Réduire
Plus d'informations
- Messages : 140
- Remerciements reçus 20
il y a 4 mois 2 semaines #34314
par Fabien
Réponse de Fabien sur le sujet Intégration données SQL
Bonjour Dead,
La problématique reste la même, tu n'enregistres pas ton fichier XML sur le disque dans la partie BDD.
Cependant, je ne comprends pas trop dans quel(s) fichier(s) XML tu veux ajouter les données SQL ?
Fabien
La problématique reste la même, tu n'enregistres pas ton fichier XML sur le disque dans la partie BDD.
Cependant, je ne comprends pas trop dans quel(s) fichier(s) XML tu veux ajouter les données SQL ?
Fabien
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 2 semaines #34315
par Dead
Réponse de Dead sur le sujet Intégration données SQL
Bonjour Fabien,
Alors, pour expliquer tout le projet:
Nous recevons des fichiers sur notre serveur via sftp de la part d'un prestataire.
Ces fichiers xml sont dans une certaine convention de nommage. Pour les rendre acceptables par notre logiciel, nous devons transcoder. J'ai donc fait ce script. Le script prend le fichier source, le transcode, et enregistre le tout sous forme fichier_modifié.xml
Cependant, dans ce script, je souhaite donc récupérer des données dans une table SQL, et que cette donnée soit ajoutée dans le fichier_modifié.xml
Les données doivent matcher avec le code du bien.
Je vous remercie pour votre aide!
Alors, pour expliquer tout le projet:
Nous recevons des fichiers sur notre serveur via sftp de la part d'un prestataire.
Ces fichiers xml sont dans une certaine convention de nommage. Pour les rendre acceptables par notre logiciel, nous devons transcoder. J'ai donc fait ce script. Le script prend le fichier source, le transcode, et enregistre le tout sous forme fichier_modifié.xml
Cependant, dans ce script, je souhaite donc récupérer des données dans une table SQL, et que cette donnée soit ajoutée dans le fichier_modifié.xml
Les données doivent matcher avec le code du bien.
Je vous remercie pour votre aide!
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