none
Erreur Invalid User en voulant accéder à SQL à partir de Visual Basic RRS feed

  • Question

  • Bonjour,

    J'ai déchargé et installé récemment SLQ Server 2008 R2 plus Visual Basic Express sur mon ordinateur sous Winsows 7. J'en suis le seul utilisateur et donc administrateur.

    Références SQL Server:

    Microsoft SQL Server Management Studio                        10.50.1600.1
    Microsoft Data Access Components (MDAC)                        6.1.7600.16385
    Microsoft MSXML                        3.0 4.0 5.0 6.0
    Microsoft Internet Explorer                        8.0.7600.16385
    Microsoft .NET Framework                        2.0.50727.4952
    Operating System                        6.1.7600

    Références Visual Basic:

    Microsoft Visual Studio 2010
    Version 10.0.30319.1 RTMRel
    Microsoft .NET Framework
    Version 4.0.30319 RTMRel

    Version installée : VB Express

    Microsoft Visual Basic 2010   01012-169-2510015-70933
    Microsoft Visual Basic 2010

    Je suis parvenu à créer une table sur SQL Server.

    Quand je veux faire la connexion avec SQL Server (Données - Fichier de base de données Microsoft SQL Server - (le nom de la DB créée avec SQL - Tester la connexion), j'ai toujours une fenêtre avec le message "Login Failed for User système\nom".

    En activant SQL Server Management Studio, je vois ma DB et son contenu sans problèmes.

    Mais si SQL Servere est actif et je veux refaire ma connexion en VB, je reçois une nouvelle fenêtre d'erreur avec le message "Le fichier est en cours d'utilisation. Entrez un nouveau nom ou fermez le fichier qui a été ouvert par un autre programme." A partir de ce moment, même si je ferme SQL Server, j'ai toujours ce dernier message! Et ceci reste vrai après fermeture et ré-ouverture de VB...

    Pourriez-vous me donner une solution à mon problème ou me dire ce que dois faire pour l'installation et l'utilisation de ces produits?

    Je suis novice en Windows 7 et le système Visual Studio, mais j'ai travaillé sur différents systèmes (mainframes et serveurs) avec Visual Basic et Oracle.

    Merci d'avance pour votre réponse.

    Cordialement,

     

    Jean van der Rijt

    dimanche 21 novembre 2010 15:38

Réponses

  • Bonjour tout le monde.

    Tout d'abord la réponse à la question d'Alex: j'ai utilisé partout Integrated Authorization (Windows Authentication).

    J'ai passé quasiment toute la soirée d'hier et une grande partie d'aujourd'hui à essayer de suivre vos conseils, mais je tombe toujours sur le même problème: soit l'erreur Invalid User, soit "La table est utilisé en ce moment".

    Comme je me suis rendu compte que je peux utiliser une base de données d'Access sans trop de problèmes, je vais me limiter à cette solution. Au départ tout ceci devrait servir pour remplacer quelques petites applications que j'avais faits avec MS Access, car il ne fait plus partie du MS Office que je possède.

    Je ne vais donc plus continuer avec la connexion VB<->SQL DB, mais je vais utiliser VB<->Access.

    Merci de votre temps, de vos efforts et de vos conseils. Si j'ai un peu plus de temps (dans 1 an je serai pensionné, donc...) je vais certainement m'y remettre, donc disons que je fais un stop temporaire. Peut-être que d'ici-là, un nouveau produit un peu plus facile à connecter sera disponible.

    J'ai vraiment apprécié vos messages.

    Cordialement,

    Jean (Papy Jean pour mes petites-filles).

    • Marqué comme réponse Alex Petrescu lundi 29 novembre 2010 11:52
    dimanche 28 novembre 2010 15:51

Toutes les réponses

  • Bonjour,
    J'ai un souci concernant les paramètres que vous avez introduit pour vous connectez à votre instance SQL.
    - S'agit-il d'une instance locale ou distante ? 
    Dans le cas ou il est distante vous devez fournir l'@IP du serveur contenant l'instance SQL.
    Pour faciliter le traitement de votre requête veuillez nous fournir les paramètres de votre connexion.
    
    Merci
    

    Best Regards Don't forget to mark it as answer if it helps
    lundi 22 novembre 2010 09:05
  • Bonjour,

    Tout le système se trouve sur un seul ordinateur, donc tout est en local.

    J'ai suivi la procédure selon les indications du site de Visual Studio 2010, ceci pour SQL Server et Visual Basic.

    Dans le tutorial de VB il y a une leçon sur la connexion vers une DB dans SQL Server. Je l'ai suivi à la lettre et je vois le message dès que je veux tester la connexion.

    J'ai peut-être mal installé SQL Server et/ou VB, mais Windows 7 ne me laisse pas beaucoup de choix.

    Est-ce que je dois installer les deux en étant utilisateur ou administrateur? Est-ce que je dois lancer l'installation avec l'option "en tant qu'administrateur"?

    Je veux bien recommencer toute la procédure d'installation (ce ne sera que la quatrième ou cinquième fois, chaque fois précédé d'une désinstallation complète), mais je devrais savoir alors exactement comment faire.

    Merci pour votre réponse, j'espère vraiment que vous pouvez me sortir de cette impasse qui existe déjà depuis 3 semaines.

     

    Cordialement,

    Jean

    lundi 22 novembre 2010 09:25
  • Re,
    Si le tout est en local alors je vous recommande de proceder ainsi:
    - Installer le tout en tant qu'administrateur
    - S'assurer que les services SQL sont bien démarrées. (MSSQLserver et L'AGENT)
    - Remplir le formulaire de connexion par les informations suivantes:
      - Nom de serveur= nom_de_votre_machine\nom_de_l'instance_sql
      - Veuillez spécifier le type d'authentification, ca dépend de la facon avec laqu'elle vous accedez a vos Base de donnée avec ssms.
      - Spécifier la base de données.
    
    Tester de nouveau la connexion et je vous attend.
    Merci
    

    Best Regards Don't forget to mark it as answer if it helps
    lundi 22 novembre 2010 09:55
  • Bonjour,

    J'ai tout désinstallé, puis j'ai installé SQL Server en tant qu'administrateur.

    Le tout s'est bien déroulé,

    Les programmes suivants ont été installés:

    MS SQL Server Compact 3.5 SP2 Query Tools ENU version 3.5.8080.0
    MS SQL Server 2008 Setup Support Files version 10.1.2731.0
    MS SQL Server 2008 R2 Policies version 10.50.1600.1
    MS SQL Server Browser version 10.50.1600.1
    MS SQL Server 2008 R2 Setup (English) version 10.50.1600.1
    MS Visual Studio Tools for Applications 2.0 - ENU version 9.0.35191
    MS SQL Server Compact 3.5 SP2 ENU version 3.5.8080.0
    MS SQL Server VSS Writer version 10.50.1600.1
    MS SQL Server 2008 R2 Native Client version 10.50.1600.1
    MS SQL Server 2008 R2
    MS Report Viewer Redistributable 2008 SP1

    Cependant, dans Sql Server Configuration Manager je vois dans les services que SQL Server Browser et SQL Server (SQLEXPRESS) sont actifs (running) mais que SQL Server Agent (SQLEXPRESS) est en arrêt (stopped).

    Est-ce normal? Pourrais-je continuer avec l'installation de VB Express?

    Sinon, comment puis-je agir sur SQL Server Agent?

    J'attends votre réponse pour la suite des événements.

    Merci d'avance.

    lundi 22 novembre 2010 11:17
  • Re,
    - Continuer l'installation de VB Express
    - Démarrer manuellement l'Agent. vous pouvez le démarrer via sql server management studio. vous le trouvez tout en bas, clic droit sur lui, puis cliquez sur demarrer.
    
    Par défaut, l'agent de Sql Server est arrêté, c'est normal. :)
    
    J'attend votre retour
    
    

    Best Regards Don't forget to mark it as answer if it helps
    lundi 22 novembre 2010 13:04
  • Re-bonjour.

    J'ai installé VB Express en tant qu'administrateur et l'installation s'est terminée normalement.

    Je n'ai cependant pas trouvé la façon de démarrer SQL Agent. J'ai lancé SQL Server Management Studio et je me trouve devant un écran avec à gauche une colonne "Object Explorer", dans laquelle je vois:

    + Databases
    + Security
    + Server Objects
    + Replication
    + Management

    Tout en bas de cette colonne je vois deux onglets: "Registered Servers" et "Object Explorer".

    A droite il y a une fenêtre vide.

    Avant de pouvoir démarrer VB, je dois d'abord créer une Data Base via SQL Server, si je comprends bien?

    Cordialement,

     

    lundi 22 novembre 2010 14:01
  • Bonjour,
    
    Mais bien sure vous devez créer une base de donnée et avant tout demarrer l'agent de sql server depuis gestionnaire de configuration.
    Click droit sur le service d'agent puis cliquez sur demarrer.
    
    
    Merci

    Best Regards Don't forget to mark it as answer if it helps
    lundi 22 novembre 2010 14:59
  • Le 22/11/2010 15:01, Jean1248 a écrit :
    > Re-bonjour.
    >
    > J'ai installé VB Express en tant qu'administrateur et l'installation s'est
    > terminée normalement.
    >
    > Je n'ai cependant pas trouvé la façon de démarrer SQL Agent.
     
    L'agent ne peut être démarré avec une version Express.
    Curieusement, le service est là.
     
    --
    Fred
    foleide@free.fr
     
    lundi 22 novembre 2010 15:30
  • Bonjour,

    Désolé, mais je ne parviens pas à démarrer SQL Server Agent. Quand je clique droit sur la ligne, je vois tout en grisé, sauf Propriétés:

    Start (grisé)
    Stop (grisé)
    Pause (grisé)
    Resume (grisé)
    Restart (grisé)
    Propriétés (gras, donc sélectable)
    Aide (normal)

    Dans Propriétés, je vois une fenêtre avec 3 onglets: "Log On", "Service" et "Advanced".

    Dans l'onglet "Log On", "Built-in account" est coché, l'information Service status = stopped

    Dans l'onglet "Service":
    General
     Binary path "C:\Program Files (x86))\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\Binn\SQLAGENT.EXE" -i SQLEXPRESS
     Error Control 1
     Exit Code 1077
     Host Name JVDR7 (ma machine)
     Name SQL Server Agent(SQLEXPRESS)
     Process ID 0
     SQL Service Type SQL Agent
     Start Mode Disabled
     State Stopped

    En changeant Start Mode en Automatique, un nouvelle fenêtre s'affiche avec le message d'erreur:
    "Le service ne peut pas être démarré parce qu'il est désactivé ou qu'aucun périphérique ne lui est associé. [0x80070422]

    Dans l'onglet "Advanced":
    Advanced
     Clustered No
     Customer Feedback Reporting No
     Dump Directory C:\le dossier du dump
     Error reporting Yes
     Instance ID MSSQL10_50.SQLEXPRESS
     Running under 64 bit OS Yes

    Quoi que je fasse, j'ai toujours le même message décrit ci-dessus.

    Voilà, je ne peux pas vous en dire plus...

    Cordialement,

    lundi 22 novembre 2010 15:38
  • Bonjour,

    La version sql 2008 express ne vous permet de démarrer l'Agent.même dans le cas ou vous allez démarrer le service manuellement du gestionnaire de configuration, une erreur se produit. Merci à floeide pour la remarque.

    Merci Jean de vérifier tes paramètres de connexion du coté VB. Je doute fort que l'une des données est manquante.

    Est ce que vous avez créer la base des données?

    merci


    Best Regards Don't forget to mark it as answer if it helps
    lundi 22 novembre 2010 15:50
  • Bonjour,

    J'ai créé une DB avec SQL Server Management Studio. J'ai également créé une table avec 3 colonnes, mais pas de contenu.

    Je quitte SQL Server Management et je suis la procédure dans VB pour me connecter:

    Données => Ajouter une nouvelle source de données => Base de données => Dataset => Nouvelle Connexion => Source de données: Fichier de base de données Microsoft SQL Server => Nom de fichier de base de données => TestDB (je donne ici un nom qui n'existe pas encore!) => OK => "Le fichier n'existe pas. Voulez-vous le créer?" => Oui => "Login Failed for user 'JVDR7\Jean'.

    Si je donne comme fichier de base de données le nom de la table que je viens de créer avec SQL Server Manager, j'ai (comme toujours) "Le fichier est en cours d'utilisation. Entrez un nouveau nom ou fermez le fichier qui a été ouvert par un autre programme". Pourtant, SQL Server Management est fermé...

    Donc, toujours pas d'avance...

    Je commence tout doucement à désespérer...

    Jean

    lundi 22 novembre 2010 16:21
  • Re,
    
    Non, la configuration de votre source de donnée est fausse.
    Vous devez votre serveur de base de données et la base de données ainsi que le mode d'authentification.
    
    Merci
    


    Best Regards Don't forget to mark it as answer if it helps
    lundi 22 novembre 2010 17:00
  • Re,

    Excusez-moi, mais je ne comprends pas vraiment ce que vous voulez dire. Que dois-je faire exactement?

    Pourriez-vous me faire un exemple concret sachant que

    - ma machine s'appelle JVDR7,
    - mon compte = Jean,
    - ma connexion dans SQL Server Management = JVDR7\SQLEXPRESS (SQL Server 10.50.1600 - JVDR7\Jean),
    - lors de la connexion, j'utilise partout l'authentification Windows,
    - à partir de VB, je n'ai pas beaucoup le choix:
       * Fichier Access,
       * Base de données SQL Server,
       * Microsoft SQL Server Compact 3.5;
      le fournisseur de données est .NET Framework pour SQL Server.

    Comment dois-je créer une DB? J'ai vu que lors de la création de la DB, mon nom ne figure pas dans la liste des Security\Users. Il n'y a que dbo, guest, INFORMATION_SCHEMA et sys.

    Merci

    lundi 22 novembre 2010 17:36
  • Bonjour,

     

    Quand vous vous connectez a SQL Server dans SQL Server Management Studio, quel type de connexion utilisez-vous : integrated authentication ou sql authentication avec username/password ?

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    mercredi 24 novembre 2010 14:19
  • Bonjour,

    Vôtre SQL Server est une Express Edition si j'ai bien compris.

    Votre Visual Basic est aussi une Express Edition.

    J'espère que vous n'avez pas créé votre base de données et votre table à partir de de votre Visual Basic Express. Si c'est ( malheureusement ) le cas, vous êtes tombé dans le piège des "user instances" ( instances d'utilisateurs en Français, je préfere l'expression anglaise, c'est plus court)

    Pourriez-vous regarder ce lien ?

    http://msdn.microsoft.com/fr-fr/library/ms143684.aspx

    Attention :  cette spécificité des Editions Express de SQL Server disparaitra apès Denali ( la suivante de SQL Server 2008 ). Il vaudrait mieux l'oublier car elle a apporté plus de problèmes ( pas de backup/restore simple, impossibilité de se connecter si l'instance n'est pas locale, si l'on veut passer de SQL Server Express à SQL Standard Standard , le programme se plante ).

    Votre problème est dû à la conjonction d'edition Express pour votre SQL Server et votre Visual Studio.

    Un bon conseil : construisez votre base base de données avec l'outil adequat : SQL Server Management Studio Express ( qui existe en téléchargement sur le site de Microsoft ). Visual Studio Express n'est pas mis à jour lorsqu'il y a un Service Pack (SP)  pour SQL Server, ce qui fait que vous ne pourrez pas bénéficier des nouveautés ou correctifs apportés par le SP. Si vous avez la curiosité d'aller sur le forum SQL Server Express (us) , vous pourrez découvrir que plus de 1/3 des "fils" ( threads en anglais ) sont relatifs à ce problème. D'ailleurs la SQL Server Express Team qui s'occupe de SQL Server Express chez Microsoft Corporation a annoncé la mort des "user instances".

    A la place, travaillez comme si vous aviez un "vrai" Visual Studio et un "vrai" SQL Server :

    - utiliser SSMS pour créer une base de données et tous ses objets ( Tables/Procédures stockées,fonctions...)

    - utiliser le namespace System.Data.SqlClient avec ses 2 très utiles classes SqlConnection et SqlConnectionStringBuilder 

    http://msdn.microsoft.com/fr-fr/library/system.data.sqlclient.sqlconnection.aspx

    http://msdn.microsoft.com/fr-fr/library/system.data.sqlclient.sqlconnectionstringbuilder.aspx

    Bonne journée

    PS : en relisant votre dernier post, j'ai vu que vous ne voyez pas vôtre base de données : signe de la création d'une "user instance" qui n'est pas détectable par SSMS ( en fait Mike Wachal a fourni l'astuce qui permet de voir et utiliser une "user instance" dans SSMS : elle se trouve dans le blog de la SQL Server Express Team blog )

    http://blogs.msdn.com/b/sqlexpress/


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    • Modifié Papy Normand mercredi 24 novembre 2010 23:44 PS ajouté
    mercredi 24 novembre 2010 23:39
  • Bonjour,

     

    Papy Normand, merci pour ces conseils.

     

    Jean1248, je vous remercie de nous tenir au courant si ces informations vous ont aidé dans votre démarche.

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    vendredi 26 novembre 2010 14:37
  • Bonjour Foleide,

    Il n'y a pas de SQL Agent pour SQL Server Express. L'équipe qui a développé le SQL Server Express avait préféré tout mettr en place pour un démarrage possible de SQL Agent , mais peu de temps avant le lancement de l'Express Edition , SQL Agent n'a été maintenu que pour les éditions payantes et a donc été laissé désactivé ( selon Mike Wachal )

    Bonne journée


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    vendredi 26 novembre 2010 15:11
  • Bonjour Messieurs,

    Je viens de me connecter et je viens de lire (rapidement) vos différents messages (je viens de rentrer du travail et comme je voyage beaucoup, je n'ai pas toujours l'occasion de me remettre à ma machine).

    Pendant le week-end à venir, je vais voir vos réponses en détail et je vous tiendrai au courant au fur et à mesure.

    En attendant, j'avais lu que Visual Basic Express était également pourvu d'un SQL Server, mais il me pose les mêmes problèmes: pas de connexion, même quand je veux créer une DB à partir de VB.

    En ce qui concerne mes DBs, elles ne sont pas encore créées, sauf quelques essais de peu d'importance. Je vais faire le "vrai" travail une fois que la connexion VB-SQL fonctionnera.

    En attendant, merci pour votre intérêt et à bientôt.

    Cordialement,

    Jean

    vendredi 26 novembre 2010 16:25
  • Bonjour Jean1248,

    VB et VC# Express permettent le cas échéant d'installer SQL Server Express 2008 R2 (10.5), mais c'est le même.Donc , si vous avez eu un problème 1 fois, vous aurez le même avec le 2ème téléchargement.

    Dès que vous pourrez vous connecter à votre SQL Server avec SQL Server Management Studio, vous pourrez commencer à créer votre base de données. Si vous ne savez pas comment faire, vous avez 2 solutions :

    - poster sur ce forum, je suis sûr que vous trouverez très de l'aide

    - utiliser une base de données déjà existante et bien connue comme AdventureWorks2008 que vous pouvez télécharger et installer:

    http://msftdbprodsamples.codeplex.com/

    Celà vous donnera une idée de bonnes pratiques pour une base de données. Les personnes qui ont construit ces bases ont fait un excellent travail. Le seul problème est que le site est entièrement en Anglais ( il n'est pas question pour le moment de faire des versions localisées ).

    Bonne journée


    Mark Post as helpful if it provides any help.Otherwise,leave it as it is.
    vendredi 26 novembre 2010 17:42
  • Bonjour tout le monde.

    Tout d'abord la réponse à la question d'Alex: j'ai utilisé partout Integrated Authorization (Windows Authentication).

    J'ai passé quasiment toute la soirée d'hier et une grande partie d'aujourd'hui à essayer de suivre vos conseils, mais je tombe toujours sur le même problème: soit l'erreur Invalid User, soit "La table est utilisé en ce moment".

    Comme je me suis rendu compte que je peux utiliser une base de données d'Access sans trop de problèmes, je vais me limiter à cette solution. Au départ tout ceci devrait servir pour remplacer quelques petites applications que j'avais faits avec MS Access, car il ne fait plus partie du MS Office que je possède.

    Je ne vais donc plus continuer avec la connexion VB<->SQL DB, mais je vais utiliser VB<->Access.

    Merci de votre temps, de vos efforts et de vos conseils. Si j'ai un peu plus de temps (dans 1 an je serai pensionné, donc...) je vais certainement m'y remettre, donc disons que je fais un stop temporaire. Peut-être que d'ici-là, un nouveau produit un peu plus facile à connecter sera disponible.

    J'ai vraiment apprécié vos messages.

    Cordialement,

    Jean (Papy Jean pour mes petites-filles).

    • Marqué comme réponse Alex Petrescu lundi 29 novembre 2010 11:52
    dimanche 28 novembre 2010 15:51