Two way Visio-Database linking problem

Hello everyone,

To make a long story short, I want to have a two way connection between Visio and a SQL Server database. By two way, I mean I want to both create shapes from database records and create new records from existing shapes.

I have a live (local) SQL Server 2012 database with our desired schema up and running. It has a bit of data, it is connectable, it works, and Im positive there are no problems with it (at least in isolation).

I can easily create shapes that contain data from a record in the database, it is straightforward and simple. I can even reverse engineer my database in Visio 2010.

I know it is supposed to be more than possible to take a shape, link its data to fields in a database, and create a new record for that shape. However, no matter what I do, I cannot find a way to dump any Visio data to the database.

I have gone through all the wizard elements (Database Wizard, Database Export Wizard, etc.) and I believe I have now run into a bug/problem with Visio itself.


With Visio 2010, once I try to connect to the data source that defines my SQL Server instance, I run into this error:

Cannot set the database context information.

Additional error information:ODBC Error: S1009 [Microsoft][Driver
name][SQL Server]Database db name does not exist. Make sure that the name is
entered correctly.

With Visio 2013, I can connect to the data source, but once I try to connect to any table I run into this error:

The selected table has only one field or contains no definition
information. The Database Wizard requires a minimum of one key field and one
additional data field.

 

These errors occur no matter how I approach or navigate any wizard. Once I get to the point where it seems like Visio is ready to begin linking, it throws the respective error. I suspect they are catch all errors that are masking whatever the real problem is.

I have spent over a week trying all the different possible ways to get any data to be written to the DB. It all boils down to these two errors.

I have tried connecting with a SQL Server 2008 instance. I have also tried many different drivers when connecting to either the 2012 or 2008 instance.

I setup the authentication method for both instances with the integrated windows authentication method. This is also the method I use when defining the data source to connect with.

There are posts on a variety of forums (including this forum) with posts similar to my issue, but nearly all of them do not have a resolution and none of the suggestions have worked for me.

Has anyone ever had the pleasure of two way linking Visio to any database platform? Does anyone know any possible solutions to this problem? I read that MySQL may work better for this, can anyone second that?

Thank you so much for reading, I know its a lot but Ive ran into a complete wall with this project due to this issue. Ill also be contacting Microsoft support directly.

Any feedback will be greatly appreciated.

Very sincerely,

-Brandon Roth

August 26th, 2014 9:10pm

These are some background videos for a project that performed two way linking with sql, the open source materials are over on codeplex.com.

https://www.youtube.com/playlist?list=PLBAFAAC68D36484CA

al edlund

Free Windows Admin Tool Kit Click here and download it now
August 27th, 2014 3:49pm

Spoke with Microsoft Tech support yesterday, it turns out that Microsoft has deprecated all functionality to have a two way link between a database and a Visio drawing with a native Visio client.

There is more in this blog: http://blogs.office.com/2012/10/17/uml-and-database-diagrams-in-the-new-visio/ (scroll down to the 'Deprecatons' section).

This deprecation is true for both Visio 2010/2013.

You can have this functionality, but it would require a programmatic solution, as you have done Al.

Thanks for the reply by the way Al, super interesting project and it looks like I will have to go about this in a somewhat similar fashion as you have. Great videos and explanations as well!

If you feel I was given an incorrect answer and that it is possible to have a two way link between records in a database and shape data, please let me know!

Thanks,

-Brandon

August 28th, 2014 3:44pm

Spoke with Microsoft Tech support yesterday, it turns out that Microsoft has deprecated all functionality to have a two way link between a database and a Visio drawing with a native Visio client.

There is more in this blog: http://blogs.office.com/2012/10/17/uml-and-database-diagrams-in-the-new-visio/ (scroll down to the 'Deprecatons' section).

This deprecation is true for both Visio 2010/2013.

You can have this functionality, but it would require a programmatic solution, as you have done Al.

Thanks for the reply by the way Al, super interesting project and it looks like I will have to go about this in a somewhat similar fashion as you have. Great videos and explanations as well!

If you feel I was given an incorrect answer and that it is possible to have a two way link between records in a database and shape data, please let me know!

Thanks,

-Brandon

  • Marked as answer by Brandon.Roth Thursday, August 28, 2014 7:41 PM
Free Windows Admin Tool Kit Click here and download it now
August 28th, 2014 10:41pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics