none
Driver {Microsoft ODBC for Oracle} RRS feed

  • Question

  • Salutations

    Je suis en stage dans une entreprise, et mon objectif est de générer des données automatiquement chaque jour. Après 9 semaines de stage, mon programme est terminé, c'est une application Console, écrite en VB.NET à l'aide de Visual Studio Express 2013.

    Pour le côté automatique, je me orienté vers la tâche planifiée, ce qui fonctionne sur mon ordi de test (Windows 7).

    Le problème arrive maintenant: Je souhaite exécuter mon soft sur un serveur (Windows Server 2012). Le soucis, c'est qu'au lancement de l'application, une "installation" du driver Oracle ODBC est lancé (juste une copie de repertoire).

    Tout fonctionne sur tous les postes de la société (Windows 7), mais sur le serveur, j'ai une erreur concernant ce driver.

    Je partage donc le code de ma classe Driver.vb, et l'erreur affiché au lancement.

    En espérant de l'aide, je vous remercie par avance. Amicalement, Etienne.

    Public Class Driver
    
    	Public Shared login As String = ""
    	Public Shared password As String = ""
    	Public Shared base As String = ""
    
    	Private Shared connexion As Odbc.OdbcConnection = Nothing
    
    	Public Shared Function installODBCDriver(_login As String, _pass As String, _base As String) As Integer
    		login = _login
    		password = _pass
    		base = _base
    		Dim retour As Integer
    		Dim directoryDriver As String = "\\qc-zetec-fs2\runtime$\driverOracleOdbc\"
    		Dim path As String = System.Environment.GetEnvironmentVariable("Path")
    		Dim appdata As String = System.Environment.GetEnvironmentVariable("APPDATA") & "\"
    		Dim pathDriver As String = appdata & "driverOracleOdbc\"
    		Dim tns_admin As String = pathDriver & "admin\"
    		path = pathDriver & ";" & path
    		System.Environment.SetEnvironmentVariable("Path", path)
    		System.Environment.SetEnvironmentVariable("TNS_ADMIN", tns_admin)
    
    		If Dir(pathDriver) = "" Then
    			Console.WriteLine("The driver doesn't exist. After you click on a key they will install (50 Mo). This action could take several minutes." & _
    				   "Les pilotes ne sont pas installes. Apres un clic sur une touche, ils s'installeront (50 Mo). Cette operation peut prendre plusieurs minutes.")
    			Console.ReadKey()
    			retour = CopieRepertoire(directoryDriver, pathDriver)
    			If retour = 0 Then
    				Return 0
    			Else
    				Console.WriteLine("Source directory doesn't exist : " & directoryDriver)
    				Return 2
    			End If
    		End If
    		Return 1
    	End Function
    
    	Public Shared Function CopieRepertoire(ByVal RepertoireSource As String, ByVal RepertoireDestination As String) As Integer
    		If My.Computer.FileSystem.DirectoryExists(RepertoireSource) Then
    			My.Computer.FileSystem.CopyDirectory(RepertoireSource, RepertoireDestination, FileIO.UIOption.OnlyErrorDialogs, FileIO.UICancelOption.ThrowException)
    			Return 0
    		Else
    			Return 1
    		End If
    	End Function
    
    	Public Shared Function connect() As Odbc.OdbcConnection
    		Dim nbTry As Integer = 0
    		connexion = New Odbc.OdbcConnection
    		connexion.ConnectionString = "Driver={Microsoft ODBC for Oracle};Uid=" & Driver.login & ";PWD=" & Driver.password & ";Server=" & Driver.base & ";"
    		connexion.Open()
    		Return connexion
    	End Function
    
    	Public Shared Function getConnection() As Odbc.OdbcConnection
    		If connexion Is Nothing Then
    			Try
    				connexion = Driver.connect()
    			Catch err As Exception
    				MsgBox(err.ToString)
    			End Try
    		End If
    		Return connexion
    	End Function
    End Class

    vendredi 30 mai 2014 16:42

Réponses

  • Je viens de voir le message que j'ai posté et apparemment ça été auto traduit en Anglais!!

    ce n'était pas ce que j'ai écrit mais bon :).

    En ce qui concerne la compatibilité, le fait que ça soit compatible avec W7 n'a aucun rapport avec W2012, ce n'est pas la meme version du noyau et puis W7 (windows client) W2012 (Windows Server).

    le mieux c'est de checker la partie : pré requis système sur le site de l'éditeur (Oracle).

    A+

    HK.


    Hicham KADIRI | Just Another IT Guy

    • Marqué comme réponse Florin Ciuca jeudi 5 juin 2014 11:15
    mardi 3 juin 2014 19:20

Toutes les réponses

  • Bonjour,

    il s'agit Pas d'un probleme de permission?

    Le Compte ultilisateur used sous Vos Postes Windows 7 versez le Lancement de l'intérêt des applications le same Que celui used versez le serveur 2012??

    Rapide Avez-vous verifie Niveau compatible du pilote Avec W2012 

    A +

    HK.


    Hicham KADIRI | Just Another IT Guy

    samedi 31 mai 2014 11:41
  • Je suis pas sûr de comprendre tout ce que tu me demandes :/

    En tout cas, le compte ne change normalement rien, puisque sur le Windows 7 je suis en compte utilisateur simple, alors que sur le Windows Server 2012, c'est exécuter en administrateur.

    Je vais vérifié la compatibilité avec W2012, mais en théorie, si c'est compatible Win7, c'est compatible W2012... Je vous tiens au courant.

    NB: Tu peux répondre en anglais si tu es plus à l'aise :)

    mardi 3 juin 2014 18:33
  • Je viens de voir le message que j'ai posté et apparemment ça été auto traduit en Anglais!!

    ce n'était pas ce que j'ai écrit mais bon :).

    En ce qui concerne la compatibilité, le fait que ça soit compatible avec W7 n'a aucun rapport avec W2012, ce n'est pas la meme version du noyau et puis W7 (windows client) W2012 (Windows Server).

    le mieux c'est de checker la partie : pré requis système sur le site de l'éditeur (Oracle).

    A+

    HK.


    Hicham KADIRI | Just Another IT Guy

    • Marqué comme réponse Florin Ciuca jeudi 5 juin 2014 11:15
    mardi 3 juin 2014 19:20