Meilleur auteur de réponses
Erreur Invalid User en voulant accéder à SQL à partir de Visual Basic

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.7600Ré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 2010Je 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
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
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 -
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
-
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 -
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 SP1Cependant, 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.
-
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 -
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
+ ManagementTout 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,
-
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 -
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à.--Fredfoleide@free.fr
-
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 StoppedEn 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 YesQuoi que je fasse, j'ai toujours le même message décrit ci-dessus.
Voilà, je ne peux pas vous en dire plus...
Cordialement,
-
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 -
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
-
-
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
-
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
________________
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.
-
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é
-
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
________________
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.
-
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. -
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
-
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. -
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