After some research I discovered the MyMeta API used by MyGeneration for DB meta data is now open source under the very liberal BSD license! That sure makes my life a lot easier since it has a much more fully featured API than I started to build. Even better it supports multiple RDMS out of the box: SqlLite, MySql, SQL Server, Access, Oracle etc.
This means that I can programmatically walk a database definition using C# in a generic way. The API is somewhat similar to SMO, but primarily uses OLEDB to pull: DB, table, column, view, index, and sproc definitions from the different providers.
What surprised me is that the MyMeta API has interface definitions for everything; interface definitions that have the same names and properties as the interface definitions I had already created in SQLMigration. I only had to change the namespace using statements in a few places and add a reference to MyMeta.dll to start using it with my existing code.
I haven't fully tested this out, but assuming MyMeta works as advertised, it should cut back development time significantly.
Powered by: newtelligence dasBlog 2.1.8102.813
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.
© Copyright 2010, Shawn Neal
E-mail