The user instance login flag is not supported on this version of SQL Server. The connection will be closed.

Je comprends que l'on ait envie de passer à une version de Postgres ou SQLite car avec SQL Server c'est toujours la même chose et c'est un peu fatiguant ces problèmes de compatibilité d'une version à l'autre. J'ai une base qui fonctionnait parfaitement avec SQLExpress en développement, il y a quelques années, j'essaye de rependre mon projet et pouf :

Error Message

The user instance login flag is not supported on this version of SQL Server. The connection will be closed.

The user instance login flag is not supported on this version of SQL Server. The connection will be closed.

Franchement, j'ai autre chose à faire que ça !

Alors là, c'est à l'exécution de l'application pour aller un peu plus loin, je remonte le projet et je me retrouve avec une application ASP.NET Aspx avec les Bases de données dans le répertoire App_Data quand j'y pense c'était bien pratique pour le déploiement.

Donner le droit d'accès

Du coup je dis que c'est peut être un problème de droits d'accès au répertoire App_Data sur ma nouvelle plateforme de développement.

Vous vous souvenez de la galère ... que c'est avec SQL Server d'octroyer les droits d'accès à un répertoire pour y poser vos Bases de Données ailleurs que dans le répertoire DATA :

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA

Alors pour mémoire, on y va :

SQL Server - Octroyez les droits d'accès à un répertoire

Bouton droit sur le répertoire puis Propriétés->Security Add ...


SQL Server - Octroyez les droits d'accès à un répertoire
SQL Server - Octroyez les droits d'accès à un répertoire

Mais quelle galère ... J'essaye d'ajouter des droits à "User" pour que mon SQL Server qui prend l'Identity User puisse accéder aux bases de données qui sont dans le répertoire App_Data.

SQL Server - Octroyez les droits d'accès à un répertoire
SQL Server - Octroyez les droits d'accès à un répertoire

Non mais c'est vraiment insupportable cette façon de gérer les droits d'accès, j'y perds ma vie !

Bon allez ça suffit, je vais déplacer mes Base de donnée dans le seul répertoire qui a les droits de SQL Serveur :

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA

Franchement, je peux vous dire que c'est fatiguant, s'il devait avoir quelque chose qui change dans MS SQL c'est bien ça, toutes ces versions du moteur qui toutes sont aussi pénibles les une que les autres à gérer. Il faut que je me mette à scripter.

Attacher mes Bases de données à SQL Server

Du coup, comme j'ai déplacé mes BDs je dois modifier les chaines de connexion en conséquence et je dois attacher mes bases de données à SQL Server.

Allez on y vas haut les cœurs :

SQL Server DataBase - Attach ...
SQL Server DataBase - Attach ...

Et ça continue Avec quelques bons scripts sous SQLite j'aurais déjà terminé.


SQL Server DataBase - Attach ...

Et vous vous souvenez qu'à la fin, il vous faut renommer la Base de Données ...


SQL Server DataBase - Attach ...

Tout ceci pour finir par essayer d'utiliser la base de mon ancienne application que j'aimerais tout simplement retravailler avec Visual Studio 2019 Community.

Me voici donc avec Visual Studio Community et son Server Explorer Tools :

The user instance login flag is not supported on this version of SQL Server. The connection will be closed.

Oh quelle tristesse tout cela pour ça ... Pouf !

Je pars chercher la solution et je reviens vous la donner.

Solution

The user instance login flag is not supported on this version of SQL Server.

La solution est supprimer la partie : User Instance=True de la chaine de connexion. OH sans blague vous auriez pensé à ça ...

CQFD !


Comment connaitre de nom de l'instance SQL Server sur ma machine ?

C'est toujours un problème ce fameux Nom d'instance de SQL Server et c'est très Microsoftien car aucune doc ne donne vraiment la bonne réponse. Ce qu'il faut savoir c'est : L'instance nommée d'un Server SQL c'est le nom de la machine si il n'y a qu'une instance SQL Server d'installée sur cette machine.

Voilà déjà cette règle est essentielle. Ensuite, le nom de la machine est équivalent au point : "." lors de la connexion au server SQL vous pouvez utiliser "." pour vous connecter. Vous avez compris et si vous installez une deuxième instance de SQL Server alors la deuxième instance prend le nom de MSSQLSERVER01 ...

Et sinon vous pouvez consulter les noms des instances installées sur votre machine grâce au Tools de l'article suivant :

Vérifiez votre installation de SQL Server

Ici :

Le Blog SQL Server d'ElSüket - Trouver le numéro d’une instance nommée de SQL Server

Il y a un gars qui vous explique un truc du moyen âge mais ça fonctionne c'est d'aller de lire les clefs du Registre :


Comment connaitre de nom de l'instance SQL Server sur ma machine ?
Comment connaitre de nom de l'instance SQL Server sur ma machine ?
Donc dans mon exemple le nom de l'instance de mon Server SQL est : MSSQLSERVER

Et voilà !

Can't connect to localhost on SQL Server

Souvent le problème c'est de bien poser la bonne question. C'est pourquoi je prends note ici de cette question car je suis avec Mon SQL Server Management Studio et j'essaye de me connecter à ".". Oui le petit nom de localhost c'est "." dans SQL Server le point c'est la même chose que localhost 127.0.0.1.

Au bout de trois heures (à peu prêt) SQL Server Management Studio me répond par une insulte :

Cannot connect to .. (notez les deux points donc localhost).
A network-related or specific error occured while establishing a connection to SQL Server.

Mais qu'est ce qu'il a encore SQL Server, c'est ce que je vais découvrir.

Can't connect to localhost on SQL Server
Can't connect to localhost on SQL Server
Du coup de googoolise et je trouve l'excellent site de StackOverflow :

stackoverflow - Can't connect to localhost on SQL Server Express 2012 / 2016

Je me dis que si c'est bon pour SQL Server Express 2012/2016 ça doit être bon pour SQL Server 2019 ...

Ajouter une légende

On me dit dans SQL Server Configruation de regardez si les deux options TCP/IP et Named Pipes sont "enable" c'est à dire valides.


SQL Server Configuration - Enable PCP/IP and Named Pipes
SQL Server Configuration - Enable PCP/IP and Named Pipes

La réponse de Stackoverflow est parfaite, elle va plus loin mais franchement pourquoi alors que je viens d'installer SQL Server, je ne peux pas accéder à "localhost" ...

Les mystères de SQL Server sont impénétrables (mais chiants surtout ;-)

Après quelques manipes, je m'aperçois que j'ai installé deux instances d'SQL Server sur ma machine vous le voyez sur cette figure il y a MSSQLSERVER et MSSQLSERVER01. J'ai essayé de supprimer la deuxième instance, j'ai bricolé les droits j'ai trouvé encore d'autres trucs à faire etc... rien n'y fait.

Quoi qu'il en soit, j'ai du tout désinstaller et tout réinstaller pour qu'enfin je puisse faire Connect ".".

Quel Bordel ce SQL Server !



Visual Studio Class Designer - Editez vos modèles de données

Ca c'est cool, vraiment cool ! Pour nous aider à prendre en main les modèles de bases de données complexes maintenant nous avons accès à un outil qui était auparavant réservé aux versions payantes de SQL Server Entreprise et SQL Server Ultimate, voici le Class Designer (l'éditeur de modèles de données à la portée de tous).

Installation du Code Tools Class Designer

J'ai découverts avec bonheur cette fonctionnalité dans Visual Studio Community 2019 alors qu'elle n'était réservée qu'aux versions prémium de SQL Server, je vous montre comment l'installer :

Je vais chercher le Visual Studio Installer et je l'exécute :

Visual Studio Installer
Visual Studio Installer
Je cherche à modifier mon installation de Visual Studio existante sur ma machine :

Modifier une installation de Visual Studio Community 2019
Modifier une installation de Visual Studio Community 2019

Puis je vais chercher dans Individual components -> Code tools  -> Class Designer :

Installation du Code tools -> Class Designer dans Visual Studio Community 2019
Installation du Code tools -> Class Designer dans Visual Studio Community 2019
Puis je cherche à ouvrir le fichier .cd (Class Diagram) de mon projet et voici que le modèle de données de mon projet apparait.

Ajouter un Diagramme de Classe dans un projet existant

Il vous suffit de faire Bouton droit sur votre projet :


Ajouter un Class Diagram à un projet existant
Puis de trouver l'icône du fichier de Class.  En tapant par exemple Class Diagram dans la barre de recherche :

Ajouter un Class Diagram à un projet existant
Ajouter un Class Diagram à un projet existant

Remarque : Vous ne pourrez pas utiliser le ClassDiagram dans tous vos projets. Par exemple, vous ne pourrez pas ajouter un Diagramme de Class dans les projets ASP.NET Core. Quand on fait ajouter New Item on ne le trouve tout simplement pas ! Vous devez donc créer un Projet de Standard Librairie associé à votre projet, là vous pourrez ajouter votre fichier .cd.

Edition du modèle de données .cd (Class Diagram)

Voici le modèle de données de mon projet dans l'éditeur de Class Diagram avec Visual Studio Community :

Visual Studio Community - Création du ClassDiagram ContosoUniversity
Visual Studio Community - Création du ClassDiagram ContosoUniversity

Oh c'est classe ! Avec la touche Ctrl et la molette de ma souris, je peux afficher plus de diagrammes de classe.

Voilà, nous venons d'apprendre à éditer nos modèles de données grâce à l'éditeur Class Diagram qui est maintenant une fonction de Visual Studio Community.

Have fun! No pain!

SQL Server Installation Center - Vérifier votre install de SQL Server

Il est toujours bon de prendre quelques notes à l'installation d'une nouvelle version de SQL Server car il y a maintenant de nombreuses versions et je voudrais installer une machine avec ASP.NET Core travailler le Front avec Angular et avoir un moteur de base de données performant avec tout ça.

Donc j'installe la version MS SQL Server Express :

Installation de MS SQL Server - Les version proposées - Evaluation - Developer - Express
Je n'ai pas envie de me taper l'achat d'une licence SQL Server, je choisie donc Express ... mais encore que j'ai un doute et si la version Developer était maintenant gratuite ... puisque la case à cocher demande de spécifier : "Specify a free version".

Je cherche "sql server developer édition vs express" et je trouve le document suivant :


Comparatif des versions SQL Server 2017
Comparatif des versions SQL Server 2017
Du coup j'installe la version Développeur c'est toujours ça de gagné.

Vous voyez bien, à chaque nouvelle installation de SQL Server, il faut faire très attention pour arriver à ses fins et retrouver ses petits.

Je clique sur "Continuer" et me voici avec un tas de fonctionnalités :

SQL Server - Fonctionnalités
Voilà ce que je choisie en gros, tout sauf la "Machine Learning" :
SQL Server Fonctionnalités installées
Je clique sur Installer :


SQL Server Installation Failed
Oracle Java SE Development Kit

Je clique sur Installer :
Install Java SE
Install – Rule “Oracle JRE 7 Update 51 (64-bit) or higher is required” failed

Et ça ne marche pas ! Quel foutoir ce truc sur le site de Java, si je veux le JRE, je dois m'inscrire !

Le gars me dit que l'erreur lors de la vérification des Features Rules est due au choix de l'option

Du coup, je décoche l'option : "PolyBase Query Service for External Data"

Cette fois ça fonctionne :

Installation d'une Instance SQL Server
On peut voir d'ailleurs que je me suis trompé j'ai installé deux instances ! Grrr !

Pour vérifier ce que vous avez d'installé sur votre Serveur

Au passage, je note un outils intéressants pour valider mon installation de SQL Server  :

Microsoft - Valider une installation de SQL Server

Le Tools dans SQL Server Installation Center :


SQL Server Installation Center - Tools
SQL Server Installation Center - Tools
Qui m'affiche le résultat suivant :

Setup Discovery Report
Setup Discovery Report
Je ne savais pas que j'avais tout ceci d'installé ... ;)

Voilà, maintenant je peux passer à l'installation de MS SQL Management Studio ...

SQL Server Express LocalDB c'est quoi ?

Encore une nouvelle mouture de SQL Server, décidément Microsoft multiplie les moutures de son moteur de Bases de Données pourquoi ? Pour ne pas livrer la version Serveur complète que l'on trouve encore sous forme de licence pour quelques milliers d'euros, oui des milliers.

Pour développer des applications ASP.NET Core il me faut SQL Server Express LocalDB alors c'est quoi cette version de SQL Server. On peut tout de même constater que SQL Server se démocratise bien obligé par la communauté qui fournit des moteurs de bases de données SQL performants et gratuits.

Utiliser une base de données et ASP.NET Core

On nous dit que LocalDB est une version allégée du moteur de base de données SQL Server Express et on est bien obligé de le croire. Et moi qui croyais que SQL Server Express était déjà une version allégée de MS SQL Server, à n'y rien comprendre.

Bref ! LocalDB est le moteur intégré et livré avec ASP.NET Core.


SQL Server Express LocalDB le moteur SQL de ASP.NET Core

Et pour faire le tour du développement d'applications web avec ASP.NET Core le tutoriel suivant les parfaitement bien fait un CRUD complet :

Tutoriel : Créer une application web de pages Razor avec ASP.NET Core

Et on voit de plus en plus de code par exemple l'aspect "Migration" qui créé automatiquement du code pour créer votre base de donnée à la première exécution de l'application et qui prendre en charge les modifications de structure.



Entity Framework - Utilisation de Code First Migrations

Comment utiliser le répertoire "Migrations" que l'on voit maintenant dans les applications Microsoft ASP.NET WebAPI ou MVC dont on trouve les codes sources sur Internet ?

Ce truc, cet article est assez cool pour que je prenne note alors que je ne suis pas venu ici depuis presque 1 an. Je cherche à travailler avec Visual Studio 20017 sur les applications ASP.NET JS, MVC, WebAPI et je trouve dans exemples d'application dans lesquels il y a un répertoire "Migrations" mais qu'en faire ?

Si l'application possède une fonctionnalité de création d'un élément de la base. La base sera crée toute seule comme dans l'exemple suivant :

BookService-master
https://docs.microsoft.com/en-us/aspnet/web-api/overview/data/using-web-api-with-entity-framework/part-1

Et s'il n'y a pas de création d'enregistrement, il faut créer la BD comme dans l'exemple :

https://github.com/MikeWasson/MoviesSPA

En faisant : Afficher la Console du gestionnaire de packages



Puis en exécutant la commande suivante :

PM> update-database

Dans la console, voici le résultat :


Comme c'est expliqué dans l'article Ici.

Voilà, c'est assez cool pour que je prenne note dans mon Blog moi aussi. Cet article vous explique également comment générer ce répertoire et son contenu dans une nouvelle application.

avec les commandes suivantes :

PM>Enabled-Migrations
PM>Add-Migration MyMigration
PM>Update-Database

De la documentation sur le site de Microsoft

Have very fun!

Microsoft Business Intelligence (BI) Data Tools SQL Server

Vous avez besoin d'informations, de news sur SQL Server et ses Data Tools ? De suivre les évolutions de la Business Intelligence. Alors voici un des meilleurs sites pour cela, le : Microsoft Business Intelligence (Data Tools)

Microsoft Business Intelligence (Data Tools)

SQL Server BI Data Tools

SSRS : SQL Server Reporting Services

SSIS : SQL Server Integration Services

SSAS : SQL Server Analysis Services

Windows PowerShell : Permet d'automatiser les tâches.

Microsoft Power BI : C'est un ensemble de services et de fonctionnalités en ligne offrant un environnement permettant de promouvoir la BI en libre-service auprès de l'utilisateur final, de prendre en charge les requêtes et le pivot d'alimentation. Il fournit une plate-forme à l'utilisateur final pour l'aider à importer des données, créer des ensembles de données et créer des rapports et des tableaux de bord.

Power BI
Power BI

Enorme site sur la BI dans l'univers SQL server de Microsoft. Des exemples concrets, des mises en situation dans le monde du BI, du code T-SQL. Tout ce qu'il faut... et plus encore.

Une vraie découverte ce blog qui présente de façon intensive toutes ces technologies Microsoft cela vous permet de vous plonger rapidement au cœur des sujets important de la Business Intelligence en particulier

Peut-on encore manager une database SDF avec Visual Studio 2013 ?

Mais que ce que c'est que cette question ? Et puis elle implique autre chose, je me suis posé cette question lors du transfert d'une application MVC 3 vers MVC 4 et je suis tombé sur cet os !

Je cherche des éléments sur les applications MVC et je tombe sur ce projet du codeplex :

http://mvcmusicstore.codeplex.com/

Ca à l'air bien, de correspondre à ce que je souhaite étudier. Seulement voilà, après avoir transformer cette pauvre application MVC 3 en application MVC 4, c'est à dire de refaire les références vers le Framework 4.0, bricoler le Web.config, tout ce qui va bien, cela ne fonctionne toujours pas !

J'ai une erreur de merde comme toujours avec MVC :

No Entity Framework provider found for the ADO.NET provider with invariant name 'System.Data.SqlServerCe.4.0'. Make sure the provider is registered in the 'entityFramework' section of the application config file. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.

Ca fait peur ! Quelle merde ce truc !

Erreur SDF database in Visual Studio 2013
Que c'est laid, que c'est moche :

SQL Server c'est toujours aussi pourri !
Ne cherchez pas à suivre les messages d'erreurs indiqués ici, c'est du bidon de chez Redmond. Des conneries à n'en plus finir car ils se prennent eux même les pieds dans leurs pinceaux !

Solution


Is Microsoft dropping support for SDF database files in Visual Studio?

The answer is yes: Microsoft is silently dropping support (as usual IMHO) to Sql Compact Edition.

It started abandoning Sql CE 3.5 in Vs2012 It continued dropping Sql CE in Sql Management Studio 2012 and finally in VS2013.

Vous trouverez des liens vers les outils qui permettent de continuer à travailler avec des base sdf.

MSDN :


Y-en a vraiment marre croyez-moi entre les incompatibilités des différents MVC 2 3 4 5. SQL server qui est toujours aussi délicat (pourri) à manager ...

Comment se connecter à SQL Server

Comment connecter mon "Explorateur de serveurs" de Visual Studio à un SQL Server distant sur une autre machine. Voilà mon sujet du matin ...

Dans Visual Studio "Explorateur de serveurs" je vois bien que je peux ajouter un serveur ...

Visual Studio - Explorateur de serveurs - Ajouter un serveur...
Mais quand je tente d'ajouter un serveur que je connais c'est impossible alors quel est le problème ?

La littérature Microsoft MSDN sur le sujet est comme toujours absconse sur ce genre de point crutial mais tentons d'en sous-tirer la substantifique moelle ...

https://msdn.microsoft.com/fr-fr/library/ms188642.aspx
Logging In to SQL Server ... Ici on m'apprend à former le nom du Serveur SQL à atteindre.

On parle plutôt de se connecter à l'aide de SQL Management Studio ce que je vais faire pour l'instant. J'essaye tout un tas de truc mais rien à faire, toujours le même message :

SQL Server n'est pas configuré pour autoriser les connexion distantes.
Donc le SQL Server auquel je souhaite me connecter devrait se nommer en gros : COMPUTER-NAME\SQLEXPRESS.

En bas de la page ms188642, pour aller plus loin je trouve la page suivante :

Vérifier la configuration du Serveur SQL

Pour réaliser ce que je souhaite, c'est à dire de connecter une application ASP.NET sur un Serveur SQL, il me faut une machine Serveur, j'ai à ma disposition une machine Virtuelle OVH, Windows 2008 Server R2.

Sql Server Configuration Manager

Utilisation de l'outil : Menu Démarrer->Microsoft SQL Server->SQL Server Configuration Manager :


Vérification de l'existence et de la configuration du Serveur SQL :

Gestion des Services SQL Server
Et par exemple, une des raisons pour lesquels on ne peut pas se connecter à SQL Server c'est que l'instance du Serveur n'est pas démarrée.

Dans ce cas simplement faire Bouton droit -> Démarrer

Sql Server Configuration Manager - Démarrer une instance d'SQL Server
Une autre raison : vous pouvez avoir changer le nom de la machine auquel cas le nom de l'instance du serveur aura changé il faudra reconfigurer les connexions.

Et sinon vous avez :

Microsoft - Résoudre les problèmes de connexion au moteur de base de données SQL Server
Je crois que l'on peut dire qu'ils (les ingé de Redmonds) ont fait un peu de progrès pour avoir une documentation un peu complète ...

Voilà : C'était donc comment utiliser le Sql Server Configuration Manager pour vérifier l'état de votre instance d'SQL Server.

Gérer les autorisation d'accès aux bases de données SQL Server Express

SQL Server est un véritable générateur de problèmes de sécurité et de problèmes d'autorisations. Alors voici comment gérer les autorisations avec SQL Server.

Je veux attacher une base de données qui ne soit pas dans le répertoire autorisé : C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA

J'obtiens immédiatement un message d'erreur :

Impossible d'ouvrir le fichier physique - Une exception s'est produite lors de l'exécution d'une instruction ou d'un lot Transact-SQL
Sympa non ?

Je regarde les autorisations du répertoire DATA au fin fond de l'arborescence SQL Server :

Autorisations de sécurité du répertoire DATA
et je remarque ce nom d'utilisateurs : MSSQL$SQLEXPRESS ou plutôt de groupe d'utilisateurs. Le fait qu'SQL Server soit incapable d'attacher la base de mon répertoire vient du fait que le répertoire ne possède pas les autorisations de  MSSQL$SQLEXPRESS !

Solution autorisations SQL Server

Si je veux pouvoir attacher ma base facilement, il faut que je l'a copie dans le répertoire :C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA

Je sais c'est un peu lâche mais la prochaine fois on apprendra comment ajouter les autorisations du groupe d'utilisateurs MSSQL$SQLEXPRESS à un autre répertoire ...




Comment installer SQL Management Studio sur SQL Server 2012 ?

Vous souhaitez installer SQL Management Studio sur SQL Server Express 2012 ? Vous pensez que la question est simple mais avec SQL Server rien n'est simple alors prenons des notes ...

Je vais sur le site de téléchargement de Microsoft Download Center :
http://www.microsoft.com/fr-fr/download/details.aspx?id=29062

Download Center SQL Server 2012 Express
Je clique sur le bouton Télécharger :

SQL Server 2012 Express édition
Je choisie les deux .exe qui m'intéressent et déjà là , je vois que j'ai un exécutable particulier pour SQL Management Studio ... c'est curieux non ? C'est une tradition stupide d'SQLServer, ils pensent que l'on peut installer le moteur de BD sans l'interface graphique ...

Installation de SQL Server 2012

Je vous passe l'installe d'SQL Server qui dure la vie d'un vampire. Je suppose qu'il faut d'abord installer SQL Server avant Management Studio ...  ce n'est pas sûr. Remarque : l'exe de SQL Server pèse 146 MB tandis que pour l'exe de Management Studio c'est 630 MB !?

Moi, j'ai d'abord lancé l'installe de SQLEXPRE_x64_FRA et je vois dans mon menu démarrer, un tas de trucs :

SQL Server 2012
Au passage je note que 2012 s’appuie sur une Installe de 2008. Mais toujours pas de SQL Management Studio !?

Installation de SQL Management Studio

Les choses sérieuse commencent. En fait, il faut relancer tout le processus d'installation de SQL Server et faire les bons choix.

Ajouter des fonctionnalités à une instance existante ...

SQL Mangement Studio Installation - Ajouter des fonctionnalités à une instance existante de SQL Server 2012
Cliquez sur "Suivant" :

SQL Mangement Studio -Outils de gestion de base
Cochez la case "Outils de gestion - De base" dans la "Description du composant" vous pouvez voir qu'il s'agit bien de SQL Management Studio.

Cliquez sur "Suivant".

Vérifiez que SQL Server Management Studio est installé.
Menu Démarrer->Tous les programmes->Microsoft SQL Server :

Vérifier l'installation de SQL Server Management Studio Express
Voilà vous pouvez maintenant gérer vos Bases SQL Server. 

Have Fun !



SQL Server 2012 - Error - Impossible de modifier la table que j'ai créé

C'est toujours la même sauce avec SQL Server, quand cesseront-ils de faire chier l'utilisateur avec des options par défaut qui sont l'inverse du bon sens !

Ce matin, un lapin ... non, plus sérieusement, ce matin je lance "Sql sever management studio 2012" pour la première fois. J'utilise sql server management studio 2005 depuis que je suis tout petit et mes souvenirs sont un peu effacés mais petit à petit les sueurs froides me reprennent et les imbécillités de cet outil et toutes ses saloperies qui me reviennent.

J'avais tout trouvé, même la commande débile :
>grant access / all à exécuter sur une DB sinon on ne peut rien en faire.

Mais ce matin, à nouveau un problème idiot impossible de modifier la table que je viens de créer !

Problème : Modifier une table

Et voici que cela recommence ! Je créé une table, je veux la modifier et BOUM :

SQL Server Management Studio 2012 : Saving changes

Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can't...

bla bla bla ... bla bla bla.

C'est insupportable alors j'aimerais rendre un vibrant hommage à ce lien qui m'a sorti d'affaire :

http://blog.wassupy.com/2012/11/sql-server-2012-saving-changes-is-not.html

Solution : Cocher la case "re-creation"

Menu : Tools -> Article : Options :

Cochez la case : Prevent saving changes that require table re-creation
Je n'en suis pas totalement certain mais il me semble bien que la même mésaventure existait déjà du temps de SQL Server 2005.

AdventureWorks Sample Application - ASP.NET MVC

En effectuant une recherche sur les Samples qui utilisent ou démontrent l'utilisation de la base de données AdventureWorks, on trouve ce projet du codeplex :

Sample app for Adventureworks database
Projet du CodePlex latest version : advsampleapp-15464

Mais le blog de supertigerzou est en chinois !

En cherchant dans "Microsoft All-In-One Code Framework Sample Browser" :

AdventureWorks2008 - Application Sample
On trouve le projet HappyNet de Cyril Cathala que j'ai déjà longuement décrit dans mon blog c#.net.

advsampleapp-15464

Je reviens donc sur le projet advsampleapp-15464, en me disant que c'est bien dommage qu'il ne soit pas mieux documenté. En explorant mieux ce projet au sein du codeplex, rien n'est renseigné, la documentation retourne inlassablement vers le blog en chinois !? Et même si googlechrome me propose de traduire les pages rien de bien probant sur ce projet. On trouvera quand même quelques photos de supertigerzou qui semble être un vrai un bon développeur de l'Université Huazhong des Jiaotong University admis en 1994.

Alors qu'y a t-il dans ce projet ?

Structure de la solution advsampleapp-15464\Adventureworks\Adventureworks.sln :

AdventureWorks Sample Application Solution
Je l'ai ouvert avec Visual Studio 2010 Ultimate. Je me rends compte que je ne peux pas charger le projet Adventureworks.Web pourquoi ? Cette solution utilise allègrement les "NuGet Packages" elle ne conviendra donc pas aux versions Express de Visual Studio.

Liste des NuGet packages installés dans la solution advsampleapp-15464\Adventureworks\packages :
jQuery.1.5.2
jQuery.vsdoc.1.5.2
MefContrib.1.0.0.3
MefContrib.MVC3.1.0.0.3
Ninject.2.2.0.0
Ninject.MVC3.0.3
WebActivator.1.1.0.0
WebActivator.1.4

MefContrib ? Tient ce projet utilise Managed Extensible Framework ...

J'installe donc ASP.NET MVC 3, en anglais ... lol :
Installer ASP.NET MVC3
ASP.NET MVC 3 Installation Completed
Release Notes

Je clique à nouveau sur le projet Adventureworks.Web bouton droit "Reload Project" mais rien n'y fait :

AdventureWorks Sample App - Impossible de charger le projet
J'installe ASP.NET MVC 4, même chose. Mais quel est donc le type du projet Adventureworks.Web ?

Vous cherchez quel est le type d'un projet Visual Studio, regardez sur cette page :
http://www.mztools.com/Articles/2008/MZ2008017.aspx

J'y trouve l'informations suivante :
<ProjectTypeGuids>
ASP.NET MVC 3.0 {E53F8FEA-EAE0-44A6-8774-FFD645390401}
ASP.NET MVC 4.0 {E3E379DF-F4C6-4180-9B81-6769533ABE47}

Lorsque je créé une application MvcApplication1 mon Visual Studio ne me propose que MVC 4 :
<ProjectTypeGuids>{E3E379DF-F4C6-4180-9B81-6769533ABE47};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

Et le projet Adventureworks.Web est en MVC 3
J'ai pourtant installé MVC 3 et MVC 4 mais mon Visual Studio ne me propose pas la création d'une application MVC 3