Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>If you are not firmly oposed to doing some coding :-) getting <a href="http://code2code.net/DB_Linq/" rel="nofollow noreferrer">LINQ to MySql, Oracle and Postgress</a> and modifying it would probably save you a lot of work as well. Remember that LINQ to SQL still uses the same ADO.NET connection.</p> <p>Beware that LINQ to Entities is not the same as LINQ to SQL and even if you get that IBM lib working you'll first have to check if you are going to be allowed to use it against existing DB without a lot of proofing (it can easily trip and try to modify existing DB - check out this thread if you want to dig into it that aspect: <a href="http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/f3a5b27a-5b73-476a-8c38-1eaedc8f197c" rel="nofollow noreferrer">http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/f3a5b27a-5b73-476a-8c38-1eaedc8f197c</a>).</p> <p>You can also go to <a href="http://www.ibm.com/developerworks/forums/thread.jspa?threadID=203893&amp;tstart=0&amp;messageID=14212368#14212368" rel="nofollow noreferrer">IBM's Entity Framework Beta thread</a> (start from the end where some ppl claimed working results). </p> <p>Important thing is not to try to get absolutely everything that MS SQL got - you just need table representation classes and you are good to go for the first round.</p> <p>One other thing you could try is to open normal ADO.NET connection to DB2 (or force ODBC if it turns out that non-ODBC connection is too snoopy and sensitive) to DB2, and try acting like it's SQL Server so to speak. If it turns out that <a href="http://msdn.microsoft.com/en-us/library/bb386987.aspx" rel="nofollow noreferrer">SqlMetal</a> agrees to work with that connection you are pretty much done - it will autogen table representation classes for you.</p> <p>If it balks, you'll need MS SQL Server as well, at lest for development purposes. For a start script out a few tables from DB2, create then in SQL Server and then run SqlMetal and look into the source code. You'll see that it creates pretty clan classes for table representation and just puts hefty but straight forward attributes on them -- meaning easy to copy&amp;paste or even generate by a good script. Once you see how a small autogenned file looks like you'll also see that you can attach more code to provided hooks or remove some existing code. Check that <a href="http://code2code.net/DB_Linq/" rel="nofollow noreferrer">LINQ to MySql etc.</a> again.</p> <p>LINQ itself just needs table representation classes so you'll be reasonably free to make your own System.Data.Linq.DataContext derivative almost to your heart's desires and I suppose that the schema in DB2 hardly ever changes so you won't need to change it too frequently. LINQ is pretty open system in general (as evidenced by many <a href="http://blogs.msdn.com/b/charlie/archive/2008/02/28/link-to-everything-a-list-of-linq-providers.aspx" rel="nofollow noreferrer">LINQ to something</a> libs) meaning that if modifying DataContext derivative is not enough you can take over the whole LINQ expressions as well.</p> <p>Once you have a proof of concept with a few tables you may need to write a perl or python script (or powershell or C#) to do a little regex replacing if DB2-s table creation scripts don't run on SQL Server intact (there's always a few syntax deviations) and you really have take the logest route.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload