Important alert: (current site time 7/15/2013 9:14:39 AM EDT)
 

winzip icon

Database Documenter *Updated 8/4

Email
Submitted on: 5/19/2004 12:39:54 AM
By: Mathew D'Amico 
Level: Intermediate
User Rating: By 34 Users
Compatibility: VB.NET
Views: 34494
 
     Windows Form app that generates a CHM(Compiled HTML File) using the Database Schema. ************************************************* Currently works with Sql Server 2000 Databases. This program requires Microsoft's HTML Help Workshop to be installed to produce CHM files. If it is not installed HTML Pages will still be generated, but there will be an error on the CHM Compile step. Instructions: Just enter in your database connection string info, select a destination folder and click Build Project. ************************************************** 5/31 Update added ability to save and load projects, added Installer program, fixed CHM Tables of Contents, added MSDN Style HTML Treeview pages, and a number of other small changes and bug fixes. ************************************************* 8/4 Added MS Access 2000/2003 support and MySql 4.0....Access support has a couple issues: datatypes are not 100% correct. For MySql a datatype conversion method has not been written, datatypes are presented as integers. I haven't been able to complete a lot on this lately, but I have done enough so someone could write their own schema providers and add them to the code fairly easily. I need to write up a guide for this. In the mean time, you need to create two classes, one that inherits from the SchemaProvider class(this provides the queries to return the proper schema information from the database) and one that inherits from the ConnectionStringBuilder class (provides properties necessary to create a connection string and a function to return the built connection string). If you are interested in creating your schema providers email me with any questions you have. If there is a lot of interest it will probably spur along on producing some better documentation on how to create them as well as make some other improvements to the program.

 
winzip iconDownload code

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. Afterdownloading it, you will need a program like Winzip to decompress it.Virus note:All files are scanned once-a-day by Planet Source Code for viruses, but new viruses come out every day, so no prevention program can catch 100% of them. For your own safety, please:
  1. Re-scan downloaded files using your personal virus checker before using it.
  2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.

If you don't have a virus scanner, you can get one at many places on the net including:McAfee.com

 
Terms of Agreement:   
By using this code, you agree to the following terms...   
  1. You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
  2. You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   
  3. You may link to this code from another website, but ONLY if it is not wrapped in a frame. 
  4. You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.


Other 2 submission(s) by this author

 


Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this code (in the Intermediate category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments
5/20/2004 10:29:21 AMAndre Moraes

What about MSDE, Oracle and MySQL?
(If this comment was disrespectful, please report it.)

 
5/20/2004 12:04:00 PMMathew D''Amico

The current code will likely work with MSDE and possibly Sql Server 7.

I intend to add support for additional databases. Once the program is fairly complete for SQL Server 2000, I will start to work on additional databases.

There are a lot of TODOs:
1. Allow custom header and footer text.
2. Option for custom style sheet.
3. Option for custom images.
4. Optional syntax highlighting for Stored Procedures and View Definitions.
5. Better UI
6. Better Error Handling, Logging, Display of Progress.
7. Projects(Save and Load settings).

That's all I can think of off the top of my head.

I will get some more done of it this weekend, just wanted to get it out there, to get some feedback. Also it the documentation it currently produces is pretty good, so it might help some one out.
(If this comment was disrespectful, please report it.)

 
5/20/2004 3:02:32 PM

Love it! This is a great start- I can't wait to see if after some more of the to-do's have been completed. Be sure to keep up the latest posted.
(If this comment was disrespectful, please report it.)

 
5/20/2004 4:45:13 PMTroy Magner

Outstanding
(If this comment was disrespectful, please report it.)

 
5/20/2004 8:00:57 PMOptimus Prime

Well done, and thanks for sharing. I'm definitely looking forward to the updates.
(If this comment was disrespectful, please report it.)

 
5/24/2004 2:44:30 AMMathew D''Amico

Fixes:
-Table of contents working properly in CHM.
-Added MSDN Online style tree view page, documentation looks a lot better when accessed through web browser now.
-custom images and style sheet
-Added a clustered column for table indexes

Should have an updated version to upload in a few days.
(If this comment was disrespectful, please report it.)

 
5/24/2004 9:48:20 AM

This is great and very useful indeed.
I give you 5 stars. How do I move the compiled program to another PC for use. Thanks.
(If this comment was disrespectful, please report it.)

 
5/24/2004 10:05:01 AMMathew D''Amico

I will include an installer in the next update.

Until then you should be able to just copy the entire BIN directory and run the exe located there.
(If this comment was disrespectful, please report it.)

 
5/24/2004 10:14:36 AM

I did as you suggested and this is the error output I received:

Preparing output directory....Complete
Retrieving Tables Data....Complete
Retrieving Views Data....Complete
Retrieving Stored Procedure Data....Complete
Building Home Page....Complete
Building Tables Page....Complete
ERROR: Object reference not set to an instance of an object.

The folder contains some html output for a few tables but not the complete list of tables, no views or sps and no chm. When I try to open the project with help workshop I couldn't be opened.

Any ideas?
Thanks.


(If this comment was disrespectful, please report it.)

 
5/24/2004 12:27:54 PMMathew D''Amico

1. The log doesn't show any errors on the Views or Stored Procedures section. Does the database have any views or stored procedures? If it does there is a problem I will need to look into.

The chm Compile step requires Microsoft's HTML Help Workshop to be installed in it's default location(C:\Program Files\HTML Help Workshop, specifically the hhc.exe file in that directory).

Once I update the error handling of the program, one of the new options will let you provide an alternate location to the hhc.exe file.

(If this comment was disrespectful, please report it.)

 
5/24/2004 2:44:38 PM

The database has views and stored procedures. The html files produced for the tables were also not complete. Only tables names staring with A had html files. I have run it on 3 different production servers and the same message is produced each time. It only ran successfully when I used the Northwind database, probably becuase you used that for all your testing.

Thanks for your responses anyway and hope you are able to fix the problem as i need this software to document my databases schema.
(If this comment was disrespectful, please report it.)

 
5/24/2004 3:25:55 PMMathew D''Amico

I tested with Northwind, Pubs and 3 Production databases from work. I am curious to find out what the problem is here.

Did the default page build correctly (DatabaseName.Default.html)? That page is built first, and just contains a list of all the tables, views and stored procedures.

Either way, I need to add error handling, to catch specific errors and report them in the log. Right now, you just get a COMPLETE or ERROR message. Definitely an area for improvement.
(If this comment was disrespectful, please report it.)

 
5/24/2004 3:55:34 PMMathew D''Amico

I think the default page is just called default.htm in the version that is currently on this site. (DatabaseName.Default.html is part of the new naming scheme in the updated version I am working on.)
(If this comment was disrespectful, please report it.)

 
5/24/2004 4:11:56 PM

I does produce the default.htm file in all cases and there is a full list of tables, views and indexes. I have just tried it with PUBS database and it worked fine. I have the feeling that it fails when there is a large number of tables in the database. It looks like PUBS and NORTHWIND do not have as many tables as some real life databases. This is just a suggestion, you might want to investigate this.
(If this comment was disrespectful, please report it.)

 
5/27/2004 4:38:40 PMMathew D''Amico

Fixed the problem with larger databases. All the queries are sharing a connection now, one connection per query was overloading the server.

Have a project file format setup, and you can load, save and create new projects.

Still need work on the GUI, better error handling, an installer project and a few other finishing touches. Should have an updated version uploaded this weekend.

After that I will start working on other databases.
(If this comment was disrespectful, please report it.)

 
5/30/2004 12:30:12 AM

This is very cool app!
I did have some trouble getting it to work:
The SQL server I am using is set up as case-sensitive so I had to modify the SQL statements to correct the case
of some of the field names (eg a.table_name needed to be a.TABLE_NAME)
and I needed to add a collate clause in some of the statements:
COLLATE SQL_Latin1_General_CP1_CI_AS
After I got past the creation of the DateTables
I was getting "ERROR: Object reference not set to an instance of an object."
I was able to get past this by adding a check to make sure the DataTable objects were not Nothing in WriteHTML.
For example: If Not (dtColumns Is Nothing) Then

(If this comment was disrespectful, please report it.)

 
5/30/2004 3:17:28 PMMathew D''Amico

Thanks.

Wasn't aware of the case sensitive issue, I will update the sql statements in my version as well.

I think I have caught (dtColumns is Nothing) and other similar errors. Should see those in the next update. Hopefully that will be tonight.
(If this comment was disrespectful, please report it.)

 
6/3/2004 10:03:04 AM

Congrats on being a contest winner! This is a very usefull tool. Do you have plans to add a section for Triggers? I think this is the only major element that is missing. Thanks for the great contribution.
(If this comment was disrespectful, please report it.)

 
6/3/2004 11:24:11 AMMathew D'Amico

I will take a look at what kind of information I can get about triggers.

About 90% done adding Microsoft Access(Jet 4.0) support. I don't think there is a way to extract Parameter information from Jet 4.0, so that section won't be supported, but otherwise it looks pretty good. I still need to find some more sample access databases to test the new code with.

And now that all the hard work is done adding multiple database support, it should be easier to add more databases to the code(a class to expose the properties needed to build the connection string and a class to handle querying the database and returning the appropriate datatables.)
(If this comment was disrespectful, please report it.)

 
6/3/2004 11:50:47 AM

I believe bits of this code comes from a previous posting here. maybe it will be useful. Thanks for your responsiveness!

select object_name(o.parent_obj)as [TableName], o.[name] as [TriggerName],
case
when (select cmptlevel
from master.dbo.sysdatabases
where [name] = db_name()) = 80 then
case
when OBJECTPROPERTY(o.[id], 'ExecIsInsteadOfTrigger') = 1 then 'Instead Of Trigger'
else 'After Trigger'
end
else 'After Trigger'
end as [Type]

from sysobjects o
WHERE OBJECTPROPERTY(o.[id], 'IsTrigger') = 1
--AND parent_obj = @table_id
order by object_name(o.parent_obj), o.[name]


(If this comment was disrespectful, please report it.)

 
6/3/2004 1:20:11 PMMathew D''Amico

Thanks I will try that query out tonight.
(If this comment was disrespectful, please report it.)

 
6/8/2004 7:43:03 PMHenri

Brilliant piece of code. I found what the bug is with running this against a database with a large amount of objects. It seems your not closing the connection to the database. So for every call it creates a new connection to the database. After a while the database starts refusing new connections and the application fails. I simply added a conn.close() command in your DBHelper class.
(If this comment was disrespectful, please report it.)

 
6/8/2004 8:32:57 PMMathew D''Amico

I updated the code on the site, the new code fixed the database connection issues. All the queries use one connection now and it is closed at the end of the build process. Lots of other fixes in the new code as well.

Next update should include Sql Server, Access, and MySql(maybe more). Also going to add a Triggers section and a Check Constraints section on the tables page.
(If this comment was disrespectful, please report it.)

 
7/4/2004 12:33:31 PM

I just complied and executed the program against a database and got this error. Any idea about fixing this:

ERROR: Cast from type 'DBNull' to type 'String' is not valid.

Thanks.
(If this comment was disrespectful, please report it.)

 
8/9/2004 5:39:25 AMLennart Wallman

Ive got the same error and the reason for this is that Ive got multiple owners for the objects, is there any way to work around this?
(If this comment was disrespectful, please report it.)

 
8/9/2004 2:18:55 PMMathew D''Amico

I haven't seen this error, let me see if I can reproduce it.

Either way, I need to improve the error handling, so it is more specific with its errors.
(If this comment was disrespectful, please report it.)

 
8/17/2004 8:58:38 AMtreesprite

I have the HTML workshop installed however, the build doesn't complete.

This is the output I receive from the DbDoc screen:

Preparing output directory....Complete
BEGIN Retrieving Tables Data
END Retrieving Tables Data
Retrieving Views Data....Complete
Retrieving Stored Procedure Data....Complete
ERROR: Object reference not set to an instance of an object.


(If this comment was disrespectful, please report it.)

 
8/21/2004 12:53:35 AMMathew D''Amico

I am working on the error messaging, hopefully get something out in the next few days. That error has something to do with the HTML Help Compiler, but not sure exactly what.

The program looks for the compiler in you C:\Program Files\Html Help Workshop\hhc.exe , if you don't have the file located there you may try to move it and see if that fixes the problem.
(If this comment was disrespectful, please report it.)

 
9/18/2004 10:31:52 AM

This error is still coming up:

ERROR:
Object reference not set to an instance
of an object.

Any hope of fixing that soon.
Thanks.
(If this comment was disrespectful, please report it.)

 
9/23/2004 4:10:56 PMOJSMail

Great code. It is very clean and fast. Thanks!
(If this comment was disrespectful, please report it.)

 
9/27/2004 9:39:54 PMtfmalone

Very nice project. Thanks for sharing, and I hope you post any changes to PSC.
(If this comment was disrespectful, please report it.)

 
9/28/2004 11:12:30 AMMathew D''Amico

Thanks for the comments and feedback. I have been playing around with another project, but will eventually get back to this one to work on the next big update.

Any suggestions on what you would like to see added/fixed next let me know(better error messaging is already on the list, the stock errors are just to vague to identify the problem in most cases).
(If this comment was disrespectful, please report it.)

 
11/3/2004 10:02:21 AM

Finally got this to work for the database I needed it for. This is a seriously great piece of kit, kudos to Mathew for a great idea well executed.

I had some teething issues, I'll share them in case they help any one else.

First of all I was getting the ERROR: Object
reference not set to an instance of an
object.

This turned out to be because I had not entered a database name in the output settings window.

Then I could not get it to run for one particular database, the GetTables was returning 0 tables, 0 views, 0 stored procedures.

Upon Inspection I noticed that the dbs it did work on had a Collation Name of:
SQL_Latin1_General_CP1_CI_AS

The ones that did not work had a Collation name of:
Latin1_General_CI_AS

So I used the following to change the collation name of the database:
Alter database testNorwegian collate SQL_Latin1_General_CP1_CI_AS

And Roberts You Aunties Husband it worked.....I have no idea why but maybe Mathew can shed some ligt on it.

(If this comment was disrespectful, please report it.)

 
11/3/2004 11:23:25 AMZolt

Hi there. First of all, AWSOME work! Really helpfull. I have found a bug which I can't get around for now, and your code is too advanced for me to understand it all. On my SQL server (SQL2k) I have some views that are more complex that can ve vuiewed in the View designer. They contain UNIONS and CASE selection. The only way to see the code is to right-click on the view and select Properties. When your application get's to this view, it returns NULL; the errors that people are getting are probably because of that: when it tries to replace the CarriageReturn with
, it gives the error about the object not being set. -- see next post --
(If this comment was disrespectful, please report it.)

 
11/3/2004 11:24:06 AMZolt

Would it be possible to test wether the view is NULL, and if yes, call a separate procedure that will read it properly? I have done some experiment with some SP included with SQL2K and the one that might do the trick it the sp_helptext. It will return a set of data, for which each record contains one line of the code of the view. By doing a small function that would build a string accroding to this result (doing multiple appends to th esring).

Do you think this would be possible for you to do?

-- see next post --

(If this comment was disrespectful, please report it.)

 
11/3/2004 11:24:26 AMZolt

The exact place would be in the ViewDetailsPage.vb file, where you ahve the line that reads : s.WriteLine(" " & CStr(dtrow("VIEW_DEFINITION")).Replace(System.Environment.NewLine, "
")) To fix the first problem, I replaced by : If dtrow("VIEW_DEFINITION").ToString & "" = "" Then s.WriteLine("") Else s.WriteLine(" " & CStr(dtrow("VIEW_DEFINITION")).Replace(System.Environment.NewLine, "
")) End If Thanks for your help, Zolt.
(If this comment was disrespectful, please report it.)

 
11/3/2004 11:53:20 AMMathew D''Amico

I am sure there are a number of bugs in the code you can download currently. Thanks for pointing out a couple of them, I will try and get them taken care of and update the code here. I have been working on a major overhaul of the project, hopefully I can wrap that up in the next few weeks.
(If this comment was disrespectful, please report it.)

 
12/2/2004 12:08:02 PM

Hey Matthew, Great Job! I really like it.

2 things:

1) for some reason, my project fails when creating the View's... but since I only cared about tables, I commented out the SP and View creation.

2) The link in the relationships to other tables is not being created properly (you forgot to add the prefix to the link). For TableDetailsPage.vb, line 234
(If this comment was disrespectful, please report it.)

 
12/2/2004 12:09:17 PM

sorry, my above comment got cut-off (I think due to the ampersand)... here's the rest:

For TableDetailsPage.vb, line 234 AND 241, you need to pass the "Table" prefix in the GetFileName() call.
(If this comment was disrespectful, please report it.)

 
12/9/2004 12:00:06 AM

Mathew, thank you! You've created a wonderful app and I'm stumped for words! I am just finishing up a huge C# project for my company. Documenting my SQL2K schema objects has been a high priority but I didn't see how I would have time to manually write it all down. Wanting to write in CHM (as I've created HLP files for another project), I couldn't find anything that really was nice and affordable. I considered writing my own but once again..where would I get the time? So putting the documentation phase aside, I continued with the coding of the project. Now that it's pretty much finished, documentation again became my focus. After a few searches on Google I came across this link and the rest is history. This is a huge, I mean, huge time saver for me!! Thank you once again!
(If this comment was disrespectful, please report it.)

 
12/9/2004 11:04:23 AM

Does this tool show foreign keys?

(If this comment was disrespectful, please report it.)

 
12/9/2004 5:09:59 PMMathew D''Amico

The example page above will give you an idea of what the documentation looks like for tables. In the Fields section, only Primary Keys are identified. Foreign Key fields are identified (with a link to the table they are related too) in the Relationships section.
(If this comment was disrespectful, please report it.)

 
1/5/2005 10:01:25 AM

Great piece of code 5 stars.

If you add the following line :

s.Append(" ORDER BY a.ROUTINE_NAME")

on the end of the SQL code in the
GetProcedures function it places them in the correct order in the chm file :-)

If you could add some error trapping for when people forget to fill in the Database Name on the Output Settings Tab it would make it more user friendly.

Great code, thanks for sharing it.
(If this comment was disrespectful, please report it.)

 
1/5/2005 4:17:35 PMMathew D''Amico

Thanks I will make that change in the next version I release.
(If this comment was disrespectful, please report it.)

 
1/9/2005 11:29:44 AM

Nice job. Have an error, though.

When running the program, here is the output:

Preparing output directory....Complete
BEGIN Retrieving Tables Data
END Retrieving Tables Data
Retrieving Views Data....Complete
Retrieving Stored Procedure Data....Complete
Building Home Page....Complete
Building Tables Page....Complete
Building Table Details Pages...Start
...
Building Table Details Pages...Complete
Building View Page....Complete
Building View Details Pages...Start
...
ERROR: Cast from type 'DBNull' to type 'String' is not valid.

Hope this helps.

I had just thought about building this application, thank goodness I did a search...
(If this comment was disrespectful, please report it.)

 
1/9/2005 12:00:14 PM

A nice addition would be to save a copy of the database schema with the project. When the user wishes to re-document, you could test against the saved schema and the current. If there is no difference for an object, then there is no need to re-generate the HTML. This would speed the process up quite a bit. I am documenting a database with well over 1,000 objects and it takes quite a while to attempt to do all over each time.
(If this comment was disrespectful, please report it.)

 
1/9/2005 3:15:51 PMMathew D''Amico

A new version is coming (hopefully in a few weeks), with some big changes. One of those being the ability to save a schema to an xml file and use that xml file as a source for generating documentation. Along with better error handling, so it is easier to identify where exactly build problems are occuring.
(If this comment was disrespectful, please report it.)

 
1/17/2005 12:03:15 AMcmschick

Absolutely awesome. Mind boggling, but awesome. I don't suppose you would be creating a step by step tutorial for this application would you? It would be great to have as project.
(If this comment was disrespectful, please report it.)

 
1/24/2005 5:55:31 AM

The new version sounds great - any update on when it's going to be available?
(If this comment was disrespectful, please report it.)

 
1/24/2005 4:36:41 PMMathew D''Amico

Hopefully it won't be more than a few weeks. Probably put together a quicky website to post it on. A lot more flexible than what is available here.
(If this comment was disrespectful, please report it.)

 
1/25/2005 10:28:16 AM

Excellent product - has produced great documentation for our SQL Server databases. One question - each table has a description (which is blank) how can I set these to something??
(If this comment was disrespectful, please report it.)

 
1/25/2005 12:48:33 PMMathew D''Amico

The description is pulled from the 'ms_description' extended property. You can set the table and column descriptions in table design mode through Enterprise Manager. Descriptions for all other items(as well as tables and columns) can be set through the Query Analyzer Object Browser (or manually, see the books online for info on the stored procs that handle extended properties).
(If this comment was disrespectful, please report it.)

 
1/25/2005 1:21:20 PM

When a run de program I get:

Preparing output directory....Complete
BEGIN Retrieving Tables Data
END Retrieving Tables Data
Retrieving Views Data....Complete
Retrieving Stored Procedure Data....Complete
ERROR: Object reference not set to an instance of an object.

Can you please tell me what I am doing wrong ...

(If this comment was disrespectful, please report it.)

 
2/16/2005 7:10:25 AMPer Cramer

Great program! Really super. But for some reason it only works with remote sql servers or MSDE versions. If i try to get the data from a locally installed MSDE then it creates the helpfile, but the build output window shows me that there are 0 tables, 0 stored procedure and 0 views

Any ideas?
(If this comment was disrespectful, please report it.)

 
2/16/2005 11:39:52 AMt_journeyman

This is amazing! Any chance of DB2 8 support?
(If this comment was disrespectful, please report it.)

 
2/16/2005 10:32:58 PMMathew D''Amico

Per Cramer - I have seen some database tables not show up in queries due to permissions. You might try running some of the queries from the SQLServer SchemaProvider directly and see what kind of results are being returned. Once I have all the new functionality completed and working with Sql Server, I will start working on other databases. DB2 is definitely one I would like to include.
(If this comment was disrespectful, please report it.)

 
2/20/2005 1:42:21 AM

Is there any plans to include Custom Functions?
(If this comment was disrespectful, please report it.)

 
2/20/2005 11:10:48 PMMathew D''Amico

Yes, User Defined Functions will be included in the next version.
(If this comment was disrespectful, please report it.)

 
2/21/2005 1:20:09 PM

Great. I'm looking forward to the next version. Can you let us know when the next version is coming out? :)
(If this comment was disrespectful, please report it.)

 
2/21/2005 2:50:23 PMMathew D''Amico

I haven't had a lot of free time lately, so there hasn't been much progress in the last month or so. There is still a lot of items left to finish before its ready to be released. Depending on my work schedule and my motivation level when I get home I should be able to have it done in a few weeks.
(If this comment was disrespectful, please report it.)

 
2/28/2005 10:46:00 PMcoryp

Very nice program :)
(If this comment was disrespectful, please report it.)

 
3/3/2005 5:28:07 PM

Can you make the next version to show all the data on a stored procedure? There must be a limiation when it grabs the data from SQL. Maybe 32,756 btyes....
(If this comment was disrespectful, please report it.)

 
3/3/2005 7:52:37 PMMathew D''Amico

Yes that bug will be taken care of in the next version.
(If this comment was disrespectful, please report it.)

 
3/15/2005 9:51:38 PM

Did you make any new changes lately?
(If this comment was disrespectful, please report it.)

 
3/16/2005 4:32:02 PM

Great to hear. I'm am looking forward to the next version. Thanks again for the update.
(If this comment was disrespectful, please report it.)

 
3/22/2005 4:10:10 PM

Hey Matthew,
Is the project almost done? 95%?
(If this comment was disrespectful, please report it.)

 
3/29/2005 10:33:27 AMMathew D''Amico

Probably 85%. Since I redid the schema objects(adding triggers, UDFs, etc). I need to update all the providers to add the work with the new schema objects. Also creating a variation to the CHM Documenter that allows multiple databases in the single CHM file. After that, a lot of testing and some other small items.
(If this comment was disrespectful, please report it.)

 
3/29/2005 11:13:09 AM

Great! Hope you have it out soon. :)
(If this comment was disrespectful, please report it.)

 
4/7/2005 10:42:04 PM

How close are you now? I'm very anxious to take a look at your new code. :)
(If this comment was disrespectful, please report it.)

 
4/15/2005 11:52:12 AM

When is it coming out? We've been waiting over a month...:P
(If this comment was disrespectful, please report it.)

 
4/15/2005 5:07:40 PMMathew D''Amico

I have had out of town guests for the past 3 weekends so I haven't had much free time to make any progress on the app. This weekend is free, so I should be able to spend some time on working on it.
(If this comment was disrespectful, please report it.)

 
4/18/2005 7:32:36 PM

:o ok. I'll look foward to this weekend. :)
(If this comment was disrespectful, please report it.)

 
4/27/2005 3:08:24 PM

Any plans for a command line version? This is a great tool and we would love to incorporate it into an automated build process.
(If this comment was disrespectful, please report it.)

 
4/29/2005 2:23:23 AMMathew D''Amico

Yes I do intend on creating a command line version of the applicaion as well.
(If this comment was disrespectful, please report it.)

 
4/29/2005 10:24:40 AMenmity

please use html template rather than fix the html in source code for flexible customizations.
(If this comment was disrespectful, please report it.)

 
5/2/2005 4:17:25 PMMathew D''Amico

I don't plan on changing the documenter for the next release (with the exception of supporting new objects and properties and multiple databases). A more flexible documenter, is on the TODO list, but there are a lot of other things that need to be completed first. In the new version, Documenters and Schema Providers are plugins, so it should be very easy to create your own as well.
(If this comment was disrespectful, please report it.)

 
5/11/2005 11:51:33 AM

Can you release at least a beta version of it? :)
(If this comment was disrespectful, please report it.)

 
5/11/2005 5:12:14 PMMathew D''Amico

I can send you a copy of the new version, if you want to try it out. It might help to get some feedback on it.
(If this comment was disrespectful, please report it.)

 
5/22/2005 10:14:37 PM

AWESOME Project...I LOVE IT!!
The error a lot of people are getting:

Preparing
output
directory....Complete
Retrieving
Tables Data....Complete
Retrieving
Views Data....Complete
Retrieving
Stored Procedure
Data....Complete
Building Home
Page....Complete
Building Tables
Page....Complete
ERROR: Object
reference not set to an instance of an
object.

is from not setting the "Database Name" property on the "Output Settings" tab.

Also I found a minor bug on the Tables html pages in the Relatioships section; the link to the Foreign key table is not built (HTMLPages\TableDetailsPage.vb) with your overload of GetFileName(), where you need to provide the prefix of "Table" for the second parameter
(If this comment was disrespectful, please report it.)

 
5/23/2005 1:33:54 PMMathew D''Amico

Thanks for the feedback, I will make sure to address those issues in the next version
(If this comment was disrespectful, please report it.)

 
6/9/2005 6:15:59 AM

I've just found a problem with VIEWs that are apparently too big! The tool bombs out with the error message "ERROR: Cast from type 'DBNull' to type 'String' is not valid." while processing the views. Check this link for info on the size of views:

http://dbforums.com/archive/70/2002/04/3/356108.

As a temporary fix, I've just altered the GetViews() method in the SQLServer schema provider code to use "ISNULL(a.VIEW_DEFINITION, '') as VIEW_DEFINITION" instead.
(If this comment was disrespectful, please report it.)

 
6/13/2005 12:37:15 PMShaji John

Man great tool,

thanks,

Sj
(If this comment was disrespectful, please report it.)

 
8/23/2005 1:59:11 PMCarlos

The zip not is valid. Cannot open.
(If this comment was disrespectful, please report it.)

 
8/23/2005 11:49:17 PMMathew D''Amico

I just downloaded the zip file and it seems fine. Try downloading it again.
(If this comment was disrespectful, please report it.)

 
8/31/2005 9:51:12 AMjconaty

There are so many projects on this site, but very few are as useful as this. Great Job!
(If this comment was disrespectful, please report it.)

 
9/20/2005 12:51:49 AMMathew D''Amico

Anyone who is interested can download a preview copy of the next version of DbDoc at http://home.comcast.net/~mathewdamico/DbDoc.zip . Note: Its a Visual Studio 2005 Project, and it is still missing some features and has some bugs in it.
(If this comment was disrespectful, please report it.)

 
2/6/2006 8:37:49 AMChris W

This is a great tool. I was wondering how things were progressing on the next release.
(If this comment was disrespectful, please report it.)

 
2/6/2006 3:13:00 PMMathew D''Amico

I have made very little progress since my last post. Hopefully I will get motivated to work on it again, but just haven't been lately.
(If this comment was disrespectful, please report it.)

 
4/18/2006 1:48:01 PM

Great application. Do you have any time frame for SQL 2005?

(If this comment was disrespectful, please report it.)

 
6/5/2006 7:24:39 PMDustin Boston

Hey man, great job! This is a great app and I'm actually really impressed with your code as well. It's nice to see a program that is laid out well.
(If this comment was disrespectful, please report it.)

 
6/6/2006 11:32:51 PM

Excellent application
(If this comment was disrespectful, please report it.)

 
6/14/2006 2:01:24 PMtieman

5 Globes from me. I've been reviewing your 2005 project and get a Colation error when retrieving UDF's. Is there any way this can be corrected? Thanks,
(If this comment was disrespectful, please report it.)

 
6/14/2006 9:44:09 PMMathew D''Amico

Can you give me a little more info on the error, what exactly was the error, line of code, etc. What collation is causing the error. Thanks.
(If this comment was disrespectful, please report it.)

 
11/24/2006 12:22:10 AMMohan

Great application.
If you have a new version for SQL 2005.
Please Update in Planet Source Code.
I wanted to Give you rating of 10 for this.
But we have only option of 5.

Greate Work Keep it Up.

Thanks and Regards
Mohan
(If this comment was disrespectful, please report it.)

 
2/14/2007 11:48:18 AMChris W

Is there any interest in posting the latest source?
(If this comment was disrespectful, please report it.)

 
10/3/2007 2:52:18 PMrsteele

I'd be interested in an updated source. I know a 2005 version exists as it was once available on Mathews personal site. Unfortunately that site no longer exists.
(If this comment was disrespectful, please report it.)

 
10/8/2007 1:29:47 PMMathew DAmico

I haven't worked on this in a while. There a number of bugs that need to be corrected. I will take a look at it in the next week or so. If I get it working reliably again, I will post the VS2005 source again.
(If this comment was disrespectful, please report it.)

 
1/25/2008 3:38:17 PMJohn

Any new changes to the program or a place to download the latest?
(If this comment was disrespectful, please report it.)

 
12/12/2008 12:49:20 PMCucco

When a run de program I get:

Preparing output directory....Complete
BEGIN Retrieving Tables Data
END Retrieving Tables Data
Retrieving Views Data....Complete
Retrieving Stored Procedure Data....Complete
ERROR: Object reference not set to an instance of an object.

Can you please tell me what I am doing wrong ...

my email now : cucco.mauro@gmail.com
(If this comment was disrespectful, please report it.)

 
6/14/2009 3:02:39 AMdonvbr

Any new updates to the program? Thanks!
(If this comment was disrespectful, please report it.)

 
7/31/2012 1:51:57 AMRobert

DbDoc appears an excellent documenting program. Unfortunately it only works with 7-8 years outdated versions of VB. The code as it exists on PSC does not work with VB2010 Net Framework 4.
Same error messages as per 2009, user Cucco, are encountered in VB2010, Net Framework 4. Ref ERROR: Object reference not set to an instance of an object.
Pgm was a Contest Winner. XML aspects to the code=outstanding.
The code appears "no longer functional" in a VB 2010 Net Framework. This user spent about a week attempting to debug DbDoc, make it current and attests to its former "winner attributes" - based solely on depth and breadth of orig code involved.
If anyone has a working version of the compiled DbDoc EXE code (for Windows 7) or has managed to keep DbDoc code current for VB 2010, please post a link.
Microsoft keeps its decades old vintage classic cmd.exe running. Northwind.mdb works as a valid db and it originated with Access 97, nearly 15 years ago. DbDoc is not current.
(If this comment was disrespectful, please report it.)

 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular code, please click here instead.)
 

To post feedback, first please login.