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 :

exception lors d'un update sur SQL serveur


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Points : 52
    Points
    52
    Par défaut exception lors d'un update sur SQL serveur
    bonjour,

    je travaille avec VB et SQL serveur, j'arrive bien à créer un objet connexion et lors de ma requete update j' ai l'exeption suivante :

    System.Data.OleDb.OleDbException: Impossible de trouver la procédure stockée 'master..xp_CBIsFileLock'.
    Impossible de trouver la procédure stockée 'master..xp_CBIsFileLock'.
    Impossible de trouver la procédure stockée 'master..xp_CBIsFileLock'.
    à System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
    à System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
    à WindowsApplication1.FormInterfaceCaisse.ExpAr()
    les requete select par contre fonctionne bien.


    Avez vous une idée ? surtout que le programme fonction sur mon poste et j'ai cette exeption sur un poste cible. J'ai bien les même base des deux cotés car j'ai fait des restaurations.

    vous comprenez quelque chose ou vous souhaitez plus d'info ?

    merci à vous.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 122
    Points
    25 122
    Par défaut
    tu veux appeler une procédure stockée qui n'existe pas sur la base master

    tu es surement pas sur la bonne base de données
    le plus simple est de la spécifier dans la chaine de connexion via DataBase=mabase

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Points : 52
    Points
    52
    Par défaut
    J'ai essayé de rajouter database à la connexion:

    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
     
            ParamServeur100 = Me.TextBoxServeur.Text
            ParamUser100 = Me.TextBoxUser.Text
            ParamPassword100 = Me.TextBoxPassWord.Text
            ParamBase100 = Me.TextBoxBase.Text
     
            Try
                'Connexion à la base Ligne 100
                Connexion.ConnectionString = ("Provider=SQLOLEDB;Data Source=" & ParamServeur100 & ";user id=" & ParamUser100 & ";Password=" & ParamPassword100 & "; Initial catalog=" & ParamBase100 & "; DataBase = " & ParamBase100 & ";")
                Connexion.Open()
                If (info = True) Then
                    TextBoxMessage.AppendText("Ouverture de la connexion à la base de données de RESTAU" & vbCrLf & vbCrLf)
                End If
                Return Connexion
            Catch ex As Exception
                TextBoxMessage.AppendText("Problème de connexion à la base de données de RESTAU: " & ex.ToString & vbCrLf)
                Return Nothing
            End Try

    donc j'ai la connexion qui se passe bien mais j'ai toujours la même exception au moment d'un ubdate.

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 122
    Points
    25 122
    Par défaut
    Initial catalog et database font la meme chose donc pas besoin de doublon !

    t'as vérifié avec un point d'arret que ta variable contenant le nom de la base contient le bon nom ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Points : 52
    Points
    52
    Par défaut
    Oui, je viens de vérifier dans Me.TextBoxBase.Text qui est un textbox j'écrit 'RESTAU' qui est le nom de ma base.

    et ensuite je mets Me.TextBoxBase.Text dans ParamBase100 que j'utilise dans Connexion.ConnectionString.

    ???????

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 122
    Points
    25 122
    Par défaut
    vérifier ce qu'on a écrit et vérifier ce qu'il se passe sont deux choses différentes

    meme que des fois quand on relis son code, on percois ce qu'on pense avoir écrit alors que c'est autre chose qui est écrit !

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Points : 52
    Points
    52
    Par défaut
    Ok, je me suis peut être mal exprimé j'ai vérifié en Debug et j'ai exécuté le programme après avoir écrit dans la zone saisissable textbox le nom de la base de données 'RESTAU'.

    voilà j'ai toujours le même problème.

    Comment ce fait il qu'il utilise une procédure stocké de master, et de plus une procédure stockée qui n'existe pas....?

    J'utilise viste sur la machine cible (xp sur l'autre) cela ne peut pas venir de là ?

    A+

  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 122
    Points
    25 122
    Par défaut
    vérifie ton code


    System.Data.OleDb.OleDbException: Impossible de trouver la procédure stockée 'master..xp_CBIsFileLock'.
    Impossible de trouver la procédure stockée 'master..xp_CBIsFileLock'.
    Impossible de trouver la procédure stockée 'master..xp_CBIsFileLock'.
    à System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
    à System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
    à WindowsApplication1.FormInterfaceCaisse.ExpAr()

    ca veut dire que dans WindowsApplication1 sur la fenetre FormInterfaceCaisse la sub ExpAr est appelée
    cette sub fait un executenonquery (qui sert à executer une requete ou une procédure stockée)
    et ensuite sql server te réponds "impossible de trouver la procédure stockée xp_CBIsFileLock sur la base master"

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Points : 52
    Points
    52
    Par défaut
    Voici la procédure ExpAr:

    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
     
        Private Sub ExpAr()
     
            Dim NbTraite As Integer = 0
     
            Try
     
                Dim MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser(TextBoxChemin.Text)
     
                'Récupération d'une connexion à la base Ligne 100
                Dim Conn As New OleDb.OleDbConnection()
                Conn = ConnectionBDRestau(True)
                'Définition de la commande et affectation d'une connexion
                Dim CmdSql As New OleDb.OleDbCommand
                CmdSql.CommandTimeout = 0
                CmdSql.CommandType = CommandType.Text
                CmdSql.Connection = Conn
     
     
                MyReader.TextFieldType = FileIO.FieldType.Delimited
                MyReader.SetDelimiters(",")
                Dim currentRow As String()
                While Not MyReader.EndOfData
                    currentRow = MyReader.ReadFields()
                    Dim currentField As String
                    For Each currentField In currentRow
     
                        'Modification de F_ARTCOMPTA
                        CmdSql.CommandText = _
                        "UPDATE  F_ARTCOMPTA SET " & _
                        "ACP_ComptaCPT_Taxe1='V05' " & _
                        "WHERE AR_Ref='" & currentField.ToString & "'"
                        If CmdSql.ExecuteNonQuery = 0 Then
                            TextBoxMessage.AppendText("L'article " & currentField.ToString & " n'existe pas dans la L100." & vbCrLf)
                        End If
     
                        'MsgBox(currentField)
                    Next
                End While
     
                ' Fermeture de la connexion à la Ligne 100
                Conn.Close()
     
                TextBoxMessage.AppendText(vbCrLf & "Import des articles vers la L100 terminé" & vbCrLf)
     
            Catch ex As Exception
                TextBoxMessage.AppendText("---------Problème import articles produit vers la base RESTAU" _
                                        & ".Message:  " & vbCrLf & ex.ToString & vbCrLf)
            End Try
     
        End Sub

    Voilà je n'appelle jamais la procédure stockée 'master..xp_CBIsFileLock'

    As tu une idée d'ou cela peut venir ?

    je répette que le programme fonctionne bien sur un poste est quand je veux l'éxécuter sur un autre poste la version installé j'ai cette exception.
    Sur la machine ou cela fonction je ne vois pas pourtant la procédure 'master..xp_CBIsFileLock' ???? dans la base master

    merci à toi.

  10. #10
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 122
    Points
    25 122
    Par défaut
    t'aurais pu chercher quand meme

    google connait ce message d'erreur ...

    http://www.developpez.net/forums/d76...tockee-master/

Discussions similaires

  1. [SQL-Server] update sur SQL Serveur
    Par Phpdebut dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/01/2009, 09h46
  2. les cursor sur sql serveur
    Par hoummass dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 03/10/2005, 17h10
  3. [Exception]Lors d'un validate sur un jframe
    Par cameleon2002 dans le forum Agents de placement/Fenêtres
    Réponses: 12
    Dernier message: 02/05/2005, 11h27
  4. [Debutant]droits des utilisateurs sur sql serveur
    Par christophebmx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/01/2005, 16h50
  5. Problème lors d'un Update sur une date
    Par Nany dans le forum ASP
    Réponses: 3
    Dernier message: 19/05/2004, 22h37

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