I’m a brand new LLBLGen Pro user (we’re using version 2.0.0.0 Final). I need to describe some of what we’re doing to ask my questions.
We have a new system being built on SQL Server 2005 with an engineered (“clean”) database: foreign keys, constraints, etc., all in one database (catalog). Our existing system that will be replaced uses SQL Server 2000, and is pure chaos: tables in many databases (catalogs), no foreign keys or constraints, etc. Each runs on a separate server.
My project is transitional in nature and will need to access both environments. The old environment will be removed piece by piece over time, but these are large systems and a long project. For the time being, it will pull data from both systems, calculate results, and place these in both systems. (This is a batch process, not an interactive application.)
I’m unclear on how to do this with LLBLGenPro. Two options have come to mind, but I’m not sure either will work or which would be best (or something else, or some hybrid solution).
I could create one LLBLGen Pro project for each environment. I’m not sure if there will be any issues as they share the same support classes. I would prefer to use SelfServicing for the new environment, but can’t use it for both as it seems the connection information is global through DbUtil. I would be OK with using SelfServicing for the new environment and Adapter for the old one, if that will work. Adapter is more suitable for the old environment in any case. Due to its chaotic nature, I will probably need that level of control.
Alternatively, I could create a database in the new environment that defines a view to each table in the old environment, via linking the servers. I’m worried in this case about the differing server versions. The new system will use some 2005 features not available in the 2000 system, so setting the compatibility level to 2000 will likely not work, whereas setting it to 2005 will probably fail on the old data.
The 2 project concept seems most promising, but I find no reference in the forums or documentation to doing this, and so I don’t know if it is supported.
Thank you for any suggestions