March 29, 2005 at 2:19 pm
I saw this link yesterday about DB2 supporting the CLR right now. That stunned me. DB2 supporting the CLR first!!! SQL Server playing second fiddle to Microsoft's own technology?!?!!?
I'm not a good enough programmer, and I'm not 100% sure how this implementation differs from the integration the SQL Server 2005 will have, but it appears you can load and run a .NET routine in or out of process with a DB2 server. On Windows, of course.
I know SQL Server 2005 has been delayed, but would it have been that hard to back port an interface to SQL Server 2000 for .NET? After all, .NET has been out for a few years now and with the delays in SQL Server 2005, adding in some integration might have been a good strategy.
That being said, as I mentioned yesterday, I don't like the CLR. I'd just as soon they don't back port anything and they launch it from 2005 and just release the new server at TechEd 🙂
Steve Jones
March 29, 2005 at 11:13 pm
IBMs implementation is out of process and uses the .Net 1.1(everett) based runtime.
SQL Server's implementation is tightly integrated, inproc, with great support in the VS IDE and we waited for .Net FX 2.0 for a reason, its a MUCH better platform for this type of feature.
-Euan
March 30, 2005 at 12:36 am
Steve, there were several articles about that in the DB2 magazine (to which you can subscribe for free, I think). IIRC, the major article was published in the 3/2004 edition of the magazine.
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org/blogs
My blog: http://www.insidesql.org/blogs/frankkalis/[/url]
March 30, 2005 at 7:36 am
Actually Steve, DB2 has supported this for several years. If you closely read IBM's documentation concerning 'stored procedures', you will see that their implementation of stored procedures is nothing more than xp_cmdshell. A 'stored procedure' must have an external wrapper program, written in your choice of language--Java, C++, VB.Net, C#.Net, COBOL or even UNIX and Windows shell scripts--anything that can contain embedded DB2 SQL commands. All that is 'stored' in the database is a reference to the external program.
Don't get too excited about IBM 'beating MS to the draw' with CLR. This is merely another weak attempt to popularize DB2 outside the mainframe world.
Having said all of that, what is the big deal anyway? You seem to be afraid that programmers will implement untested and problematic code in the database. Wouldn't it be better to have the code in the database instead of in an external application where DBAs have no chance of testing before placing the code into production?
The way I see it, and I've been in this business for 30 years and am a SQL Server, Sybase, Oracle, Informix and DB2 (mainframe, AIX and Windows) DBA as well as a .Net developer, DBAs have been debugging database application code as long as programmers have been writing it. The only problem has been that the DBA usually doesn't get to test the code before it is placed into production and shuts down the database. This has the potential to bring application code under stricter testing requirements before it goes into production.
Dan
March 30, 2005 at 7:41 am
Dan,
That's an interesting point of view. I hadn't considered the "tighter control" aspect. I think after watching programmers sneak too much stuff into production, I hate the idea of them getting into the database, but maybe they will get less code into production.
I like that
March 30, 2005 at 7:50 am
Apparently Oracle is planning to add support as well in 10g R2 due this summer, though I can't find the press release.
Oracle started this sort of thing by bringing Java into the database and many thought that it spelled the end of PL/SQL. It did not.
T-SQL, though much less powerful and complete than PL/SQL, will still be the preferred method for knowledgeable users to program stored procedures in SQL Server due to it's proximity to the database and efficiency.
I think that in Microsoft shops, there is more of a risk that less experienced users will start programming (primarily?) in CLR oriented languages and forget T-SQL and put the database integrity at risk. Those are the blessing and curse of Microsoft's lowering of the bar.
I think it behooves Microsoft to improve T-SQL and make it a first class language, while keeping it close to the data. That would help in so many ways.
March 30, 2005 at 7:53 am
Oracle started this sort of thing by bringing Java into the database and many thought that it spelled the end of PL/SQL. It did not.
Yes, they've smartly chosen JSP for this kind of thing. What a brilliant idea!
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org/blogs
My blog: http://www.insidesql.org/blogs/frankkalis/[/url]
March 30, 2005 at 7:58 am
No, not JSPs. It's essentially a J2SE container, not too different from the .NET/CLR managed run-time. Their application server is more like IIS and the ASP.NET run-time, and it supports JSP.
March 30, 2005 at 8:22 am
DB2's "CLR integration", as others have pointed out, is really nothing but a very loose interop wrapper. It's hardly "integration" in the sense of what SQL Server is doing, and IBM appears to have done it just to pull one over on MS.
By the way, Michael Otey reported on this back in Feb:
http://www.windowsitpro.com/sqlserver/article/articleid/44592/sqlserver_44592.html
--
Adam Machanic
whoisactive
March 31, 2005 at 12:08 am
Correct, I was only joking on the name JSP. It can be a great confusion whether you mean this JSP or that JSP.
--
Frank Kalis
Microsoft SQL Server MVP
Webmaster: http://www.insidesql.org/blogs
My blog: http://www.insidesql.org/blogs/frankkalis/[/url]
Viewing 10 posts - 1 through 9 (of 9 total)
You must be logged in to reply to this topic. Login to reply