42 votes

Ingénierie inverse pour le diagramme des bases de données dans Visio avec SQL Server 2008

Je dois effectuer une rétroconception d'un serveur Microsoft SQL 2008 afin de créer un diagramme de modèle de base de données Microsoft Visio 2007. Je choisis donc "Reverse Engineer" dans le menu Database pour me connecter à la base de données.

J'ai configuré le pilote Microsoft SQL Server Visio pour qu'il utilise SQL Server Native Client 10.0 comme pilote ODBC. Ensuite, j'ai créé un DSN utilisateur qui se connecte à ma base de données. Ce DSN fonctionne (du moins le test fourni est réussi). Après avoir cliqué sur Suivant dans l'assistant de rétroingénierie, Visio me demande gentiment mes informations d'identification que je fournis correctement, mais après avoir cliqué sur OK, je reçois le message suivant :

Le pilote Visio actuellement sélectionné n'est pas compatible avec la source de données.

J'ai essayé d'utiliser l'ancien pilote ODBC du serveur SQL, en reconfigurant également le pilote Visio bien sûr. Cela ne fonctionne pas non plus.

34voto

Pour connecter Visio 2007 à une base de données SQL Server 2008, exécutez l'assistant Reverse Engineer (Database/Reverse Engineer. . .) dans Visio 2007, sélectionnez le pilote ODBC Generic dans la liste déroulante "Pilotes Visio installés". Créez ensuite une nouvelle source de données en utilisant le SQL Native Client (2005.90.4035, 2005 SP3). Vous obtiendrez un avertissement indiquant que certaines informations récupérées peuvent être incomplètes. Cliquez sur OK et continuez. Ce n'est pas la solution la plus intuitive (mais pas difficile), mais au moins cela vous permettra d'utiliser Visio 2007 pour vous connecter à SQL 2008.

Chip Lambert, Slalom Consulting

31voto

Paul Hargreaves Points 1022

De Soutien de Microsoft via les forums de Microsoft :

Une enquête plus approfondie révèle que c'est le comportement attendu pour Visio 2007. Lorsque Visio ouvre une connexion en utilisant le pilote Visio SQL Server, il vérifie la version du serveur et, comme SQL Server 2008 a été livré après Visio 2007, il ne reconnaît pas SQL Server 2008 comme une version prise en charge et ferme la connexion. Vous pouvez attendre la sortie d'une prochaine version de Visio qui reconnaîtra SQL Server 2008 ou utiliser le pilote ODBC générique de Visio qui peut ouvrir avec succès des connexions à SQL Server 2008. Une troisième option consiste à utiliser une copie de SQL Server 2005 pour la rétro-ingénierie initiale. L'équipe Visio est consciente de ce problème.

8voto

Ed Graham Points 1281

Un vieux fil de discussion mais un problème toujours d'actualité ... J'ai constaté que, bien que l'utilisation du pilote ODBC générique fonctionne, l'outil de rétroconception ne prend pas en compte les déclencheurs, les clauses de contrôle, les vues et les procédures stockées. En spécifiant le pilote Access Visio à la place, nous récupérons au moins les clauses de contrôle et les vues.

D'une manière générale, cependant, je dois dire que je trouve que les équipes concernées de Microsoft font preuve d'un manque d'égards effroyable pour leurs clients. J'ai vécu une expérience très similaire l'année dernière lorsque j'ai effectué la mise à niveau vers Visual Studio 2010 et que j'ai découvert que mes projets SSIS ne s'ouvraient plus... comme on peut le voir sur la page suivante ce fil MS n'en a rien à faire.

4voto

Marlon Points 298

Vous pouvez créer un DSN utilisateur dans l'utilitaire ODBC Data Source Administrator, puis vous connecter à votre instance de MSSQL 2008 via Visio 2007 en sélectionnant le pilote ODBC générique au lieu du pilote Microsoft SQL Server.

Vous pouvez également essayer les Data Mining Addins for Office 2007 de SQL Server 2008.

Attrapez-les ici : http://www.microsoft.com/downloads/details.aspx?FamilyId=896A493A-2502-4795-94AE-E00632BA6DE7&displaylang=en

J'espère que cela vous aidera !

Cheers

3voto

Jeremy Thomas Points 59

J'ai fini par utiliser le Generic OLE Db Provider au lieu du pilote ODBC Generic pour me connecter à SQL Server 2008 - les types de données semblaient passer sans problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X