Idée
Connection Oracle et remontée Infos
- Franck Lagrue
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 39
- Remerciements reçus 0
il y a 13 ans 3 mois #13913
par Franck Lagrue
Connection Oracle et remontée Infos a été créé par Franck Lagrue
Bonjour,
j'ai récupéré et adapté un code pour me connecter à une base Oracle, qui fonctionne.
Ce que je veux, c'est remonter 2 valeurs situées dans 2 tables différentes.
le but étant ensuite de définir un nombre par soustraction :
Nb emplacement libre = 10000 - (select count(*) from table 1 - select count(*) from table 2)
ce que je pensais faire, c'est récupérer les count(*) soit dans 2 variables, soit dans un tableau que je lirai.
j'ai plusieurs questions sur le code :
1- les if ne me retourne pas les messages prévus par le write-host... => pas grave, mais pour ma culture
2- le retour en console ne me convient pas, je voudrais récupérer la valeur numérique de mon [code:1]select count(*)[/code:1], dans une variable ou un tableau pour pouvoir faire un calcul.
[code:1]
#
# FONCTIONS ORACLES
#
function Get-OracleTable($TABLE_NAME){
Write-verbose \">> Déclaration des variables\"
#
# VARIABLES LOCALES
#
$OracleUser=\"toto\"
$OraclePassword=\"titi\"
$DataSource=\"tata\"
$Table=$TABLE_NAME
$OracleDLL=\"D:\oracle\product\10.2.0\client_1\BIN\Oracle.DataAccess.dll\"
$queryString = \"SELECT count(*) FROM $Table\"
$connectionString= \"Data Source=$DataSource;User Id=$OracleUser;Password=$OraclePassword;Integrated Security=no\"
$Export_Table_Content=\"D:\DATA\Tests\RepFin\$TABLE_NAME.csv\"
#
# PROGRAMME
#
if(test-path $Export_Table_Content){Remove-item $Export_Table_Content}
# Load the ODP assembly
$LoadAssemblyResult=[System.Reflection.Assembly]::LoadWithPartialName(\"System.Data.OracleClient\"«»)
if(($LoadAssemblyResult -ne $null)-AND ($LoadAssemblyResult.GlobalAssemblyCache) ){
Write-Verbose \">> Chargement du module Oracle : OK\"
}
else {
write-host \">> Chargement du module Oracle : KO\"
}
$set = New-Object System.Data.DataSet
$connection = New-Object System.Data.OracleClient.OracleConnection($connectionString)
$connection.open()
If($Connection.State -eq \"Open\"«»){
Write-verbose \">> Connexion à la table $Table : OK\"
}
else {
Write-host \">> Connexion à la table $Table : KO\"
#exit
}
$adapter = New-object System.Data.OracleClient.OracleDataAdapter($queryString, $connection)
$adapter.Fill($set)
if(($set -ne $null)-AND($Set.tables[0] -ne $null )){
# Export de la structure en CSV
# Write-verbose (\">> NOMBRE D'ENTREES RECUPEREES DANS ORACLE : \" + ($set.tables[0]).count)
return ($set.tables[0])
}
}
[/code:1]
merci de votre aide par avance
j'ai récupéré et adapté un code pour me connecter à une base Oracle, qui fonctionne.
Ce que je veux, c'est remonter 2 valeurs situées dans 2 tables différentes.
le but étant ensuite de définir un nombre par soustraction :
Nb emplacement libre = 10000 - (select count(*) from table 1 - select count(*) from table 2)
ce que je pensais faire, c'est récupérer les count(*) soit dans 2 variables, soit dans un tableau que je lirai.
j'ai plusieurs questions sur le code :
1- les if ne me retourne pas les messages prévus par le write-host... => pas grave, mais pour ma culture
2- le retour en console ne me convient pas, je voudrais récupérer la valeur numérique de mon [code:1]select count(*)[/code:1], dans une variable ou un tableau pour pouvoir faire un calcul.
[code:1]
#
# FONCTIONS ORACLES
#
function Get-OracleTable($TABLE_NAME){
Write-verbose \">> Déclaration des variables\"
#
# VARIABLES LOCALES
#
$OracleUser=\"toto\"
$OraclePassword=\"titi\"
$DataSource=\"tata\"
$Table=$TABLE_NAME
$OracleDLL=\"D:\oracle\product\10.2.0\client_1\BIN\Oracle.DataAccess.dll\"
$queryString = \"SELECT count(*) FROM $Table\"
$connectionString= \"Data Source=$DataSource;User Id=$OracleUser;Password=$OraclePassword;Integrated Security=no\"
$Export_Table_Content=\"D:\DATA\Tests\RepFin\$TABLE_NAME.csv\"
#
# PROGRAMME
#
if(test-path $Export_Table_Content){Remove-item $Export_Table_Content}
# Load the ODP assembly
$LoadAssemblyResult=[System.Reflection.Assembly]::LoadWithPartialName(\"System.Data.OracleClient\"«»)
if(($LoadAssemblyResult -ne $null)-AND ($LoadAssemblyResult.GlobalAssemblyCache) ){
Write-Verbose \">> Chargement du module Oracle : OK\"
}
else {
write-host \">> Chargement du module Oracle : KO\"
}
$set = New-Object System.Data.DataSet
$connection = New-Object System.Data.OracleClient.OracleConnection($connectionString)
$connection.open()
If($Connection.State -eq \"Open\"«»){
Write-verbose \">> Connexion à la table $Table : OK\"
}
else {
Write-host \">> Connexion à la table $Table : KO\"
#exit
}
$adapter = New-object System.Data.OracleClient.OracleDataAdapter($queryString, $connection)
$adapter.Fill($set)
if(($set -ne $null)-AND($Set.tables[0] -ne $null )){
# Export de la structure en CSV
# Write-verbose (\">> NOMBRE D'ENTREES RECUPEREES DANS ORACLE : \" + ($set.tables[0]).count)
return ($set.tables[0])
}
}
[/code:1]
merci de votre aide par avance
Connexion ou Créer un compte pour participer à la conversation.
- Franck Lagrue
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 39
- Remerciements reçus 0
il y a 13 ans 3 mois #14010
par Franck Lagrue
Réponse de Franck Lagrue sur le sujet Re:Connection Oracle et remontée Infos
Personne ?
Connexion ou Créer un compte pour participer à la conversation.
- SiSMik
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 492
- Remerciements reçus 0
il y a 13 ans 3 mois #14019
par SiSMik
Réponse de SiSMik sur le sujet Re:Connection Oracle et remontée Infos
Salut,
Désolé j'ai pas de serveurs Oracle sous la main
Désolé j'ai pas de serveurs Oracle sous la main
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 13 ans 3 mois #14020
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Connection Oracle et remontée Infos
Bonsoir GeekAlf,
Désolé, je n'ai pas compris ta question
Je n'ai pas d'expérience sur Oracle et pas ce qu'il faut sous la main pour t'aider.
' System.Data.OracleClient ' est obsolète : \"This types in System.Data.OracleClient are deprecated and will be removed in a future version of the .NET Framework. For more information, see Oracle and ADO.NET.\"
Tu peux lire cet article très intéressant de Klaus Schulte sur le 'Hey, Scripting Guy! Blog' :
Use Oracle ODP.NET and PowerShell to Simplify Data Access
Enfin, si ton retour ne te convient pas, à priori il faut regarder ici :
[code:1]return ($set.tables[0]) [/code:1]
Et voir ce qu'un
[code:1]$set.tables[0] | Get-Member[/code:1]
te fourni comme méthodes et propriétés.
@ +
Matthew
les if ne me retourne pas les messages prévus par le write-host.
Désolé, je n'ai pas compris ta question
Je n'ai pas d'expérience sur Oracle et pas ce qu'il faut sous la main pour t'aider.
' System.Data.OracleClient ' est obsolète : \"This types in System.Data.OracleClient are deprecated and will be removed in a future version of the .NET Framework. For more information, see Oracle and ADO.NET.\"
Tu peux lire cet article très intéressant de Klaus Schulte sur le 'Hey, Scripting Guy! Blog' :
Use Oracle ODP.NET and PowerShell to Simplify Data Access
Enfin, si ton retour ne te convient pas, à priori il faut regarder ici :
[code:1]return ($set.tables[0]) [/code:1]
Et voir ce qu'un
[code:1]$set.tables[0] | Get-Member[/code:1]
te fourni comme méthodes et propriétés.
@ +
Matthew
Connexion ou Créer un compte pour participer à la conversation.
- Matthew BETTON
- Hors Ligne
- Membre platinium
-
Réduire
Plus d'informations
- Messages : 968
- Remerciements reçus 0
il y a 13 ans 3 mois #14021
par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Connection Oracle et remontée Infos
benduru écrit:
Bonsoir Fabien
La même
Salut,
Désolé j'ai pas de serveurs Oracle sous la main
Bonsoir Fabien
La même
Connexion ou Créer un compte pour participer à la conversation.
- Franck Lagrue
- Auteur du sujet
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 39
- Remerciements reçus 0
il y a 13 ans 2 mois #14036
par Franck Lagrue
Réponse de Franck Lagrue sur le sujet Re:Connection Oracle et remontée Infos
bonjour Matthew, je vais regarder ça merci.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.045 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Connection Oracle et remontée Infos