IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Planification journalière script VB.net


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Par défaut Planification journalière script VB.net
    Bonjours,

    J'ai crée sous Visual Studio 2008 express et VB.net, un "script" en utilisant un module (sans utiliser de form) un code qui m'actualise plusieur base de donnée Access.
    Ces bases de donnée contienent des macros qui vont chercher via ODBC les info sur un server et les actualisent.
    Mon script, en fait, pilote Access et utilise ces macros.

    J'ai crée une tache planifier avec le planificateur de Windows 7 qui lance tous les jours le script à la même heure.

    Le probleme c'est que le sript à l'air de se lancer car je le voit dans les processus mais il ne lance pas MSAccess.exe et les tables ne s'actualise pas.

    Quand je le lance "à la main" directement sur l'appli, ça fonctionne.

    Je suppose qu'il ya une meilleur façon de proceder que d'utiliser l'automation et un planificateur mais je ne la connait pas.

    Merci

    Alexis

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    tu peux peut etre nous donner le code de ce script?

  3. #3
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Par défaut
    Bien sûr, je dois précisé que j'ai le niveau debutant/intermediare.

    voici le code que j'ai utilisé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    Imports Microsoft
    Imports System
    Imports Microsoft.Office.Interop
    Imports Microsoft.Office.Interop.Access
     
     
    Module DB_ACTUA
     
        Dim _pathDBFile As String
        Dim _end As Boolean = False
     
        Sub Main()
     
            _pathDBFile = "U:\DATABASE\DB\"
     
            Console.WriteLine("Bienvenidos al programa de actualizacion de la base de datos.")
     
            While Not _end
     
                If My.Computer.FileSystem.DirectoryExists(_pathDBFile) Then
     
                    Dim my_dbfiles As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.GetFiles(_pathDBFile)
     
                    For Each n In my_dbfiles
                        actua_table(n)
                    Next
     
                    _end = True
     
                Else
     
                    Console.WriteLine("El directorio U:\DATABASE\DB\ no existe.")
                    Console.WriteLine("Por favor, entrar el camino completo del directorio conteniendo las bases de datos: ")
                    _pathDBFile = Console.ReadLine()
     
                End If
     
            End While
     
        End Sub
     
        Public Sub actua_table(ByVal my_dbfile As String)
     
            Dim oAccess = New Access.ApplicationClass()
     
     
            Try
                'Ouvre une base de données en mode exclusif :
     
                oAccess.OpenCurrentDatabase(filepath:=my_dbfile, Exclusive:=True)
                oAccess.DoCmd.RunMacro(MacroName:="creation_table")
                Console.WriteLine("Actualizacion de : " & my_dbfile & " => OK ")
     
            Catch ex As Exception
     
                Console.WriteLine("error actualizacion de :" & my_dbfile)
                System.Threading.Thread.Sleep(2000)
     
            End Try
     
            oAccess.CloseCurrentDatabase()
            oAccess.Quit(AcQuitOption.acQuitPrompt)
     
        End Sub
     
     
    End Module
    Il y a quelque partis en espagnol car je travail en espagne.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    et tu as compilé ca dans un executable? Quand tu lances l'exe a la main ca marche? Quand la tache planifiée s'execute, est ce que tu es loggé sur le PC?

  5. #5
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 12
    Par défaut
    J'ai compilé avec visual studio et j'ai publié sur mon pc ensuite à l'emplacement ou il est publier je lance l'aplli et rien. J'ai aussi essayer avec l'exe installer à partir du setup et rien non plus.

    Oui je suis loggé.

    Je ne sais pas pourquoi, il y a un processus corespondant à l'application mais elle ne fait rien!!

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    C'est donc l'exe qui a un problème, pas la tache planifiée.

    Est ce que tu vois au moins ta messagebox? est ce que access est installé sur le poste client? dans la meme version que sur ton poste?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. absence des scripts vb.net sur mon serveur local
    Par javalhoussain dans le forum Développement Web avec .NET
    Réponses: 3
    Dernier message: 19/07/2012, 18h43
  2. [2005] Script VB.NET pour incrémentation de variable
    Par gentelmand dans le forum SSIS
    Réponses: 6
    Dernier message: 12/06/2012, 16h39
  3. Connection FTP dans un script VB.NET
    Par swokor dans le forum SSIS
    Réponses: 4
    Dernier message: 02/05/2012, 11h37
  4. Combinaison de html et de script vb.net
    Par randriamanana dans le forum VB.NET
    Réponses: 7
    Dernier message: 16/06/2008, 08h11
  5. Ecrire un Script en .net
    Par vijeo dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 29/03/2006, 10h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo