Reverse Engineering SQL Server DBs with periods in the names

M

mike.loux

Hi all,

Has anyone run into problems using Visio 2003 to reverse engineer a SQL
Server database with a period in the name (e.g. "XXX.YYY")? I get an
error telling me the following:

"Could not find server 'XXX' in sysservers. Execute sp_addlinkedserver
to add the servers to sysservers."

I was able to successfully reverse engineer another DB (without any
periods in the name) on the same server, so I'm guessing the period is
definitely it. Renaming the DB is not an option; is there any way to
tell Visio not to stop at the period ("[XXX.YYY]" or some such)?

Thanks!
-Mike
 
M

Michael Mortensen

I have the exact same problem, and I have been struggling with this for quite
some times.

Did you find a solution?

Like yourself, I cannot just rename the databases. They are in a produktion
environment.

The reason i need to reverse engineer is, that the generated UI from Visio
is perfect for documentation for customers.

Please help us out here :)

--
Kind regards,

Michael Mortensen
System Developer
Denmark
 
M

Mike Loux

Howdy. Sorry about the late reply!

As it turns out, the problem is not in Visio, but in SQL Server itself,
as I ran into the same problem while trying to transfer data to another
DB using DTS. Apparently DTS chokes when it runs into a period, as it
automatically splits names on periods to get the individual components
(owner, db, table, etc). Since Visio uses DTS to do the
reverse-engineering, it basically throws up its hands when it runs into
an error and just passes the error text on to the user.

Ultimately, I ended up renaming the DB, as when you can't transfer data
to or from said DB, you basically can't save it when it crashes. You
might want to talk to your production people about changing from a
period to an underscore.

Sorry the answer wasn't a better one!

Slainte!
-Mike
 
M

Michael Mortensen

Hi Mike,

Yes, I came to the same conclusion as you did.
However, since my major issue was documentation, I found a work arround.

It is not SQL server that has the problem (unless talking dots in database
name), but more the driver you choose from.

So, if you have tables with dots (periods) in them, the normal SQL Server
driver will fail interpret those tables.

However, if you use the Generic OLE DB Provider, and then select Microsoft
OLE DB Provider for ODBC drivers, it can successfully interpret tables with
dots in them.

Just a hint for people other than you and me struggling with documentation :)

Kind regards,

Michael Mortensen
System Developer
 
M

Mike Loux

Freaky! One can only hope that they have addressed this sort of thing
(either by allowing for periods, or by disallowing them completely) in
SQL Server 2005...

Slainte!
-Mike
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top