初用DB2 UDB V8.2(Stinger)制作CLR存储过程

系统 1667 0

    因为工作的原因,基本上都是使用Oracle系列的数据库,很少有接触DB2的机会,可从9月17日开始就开始密切的注意IBM的DB2 UDB 8.2,因为让我有些不太愿意相信的事情发生了。
    使用DB2 UDB 8.2就可以写C#/VB.NET等基于.NET Framework的存储过程,无疑这给.NET程序员带来了更宽广的世界。还有就是微软的Sql Server还在Beta2,看样子至少从广告效果上DB2也给Sql Server一个小耳光吧。这样的小地方也都不愧是被称作Stinger。

    在IBM的主页上有这样两篇文章介绍相关的知识
     DB2 Development Add-In Technical Preview
    A look at the new functions in DB2 Universal Database V8.2
    通过它能有个大概的印象,趁着休息天就按照这两篇文章开始了尝鲜的“旅程“。

    ⒈下载DB2 UDB ( 我的OS为W2K,我下载的版本都是32Bit的)
        在9/17的随笔 DB2 UDB Ver 8.2 ( Stinger ) 中也有介绍,我们需要下载下面两个软件。
        
           ⑴  DB2 Personal Developers Edition for Windows
                  这也就是DB2 UDB 8.1.3,目前似乎以对该版本升级的形式提供,还没有直接提供8.2的下载。
                  需要注意的是如果没有注册过,下载前需要注册您的个人信息。
                  当打开下载页面后,选择DB2 Personal Edition V8.1 with FixPack 3 (32 Bit)。

           ⑵  V810 FixPak 7 for WINDOW 32-bit
                  DB2 UDB V8.2 ( Stinger ) 是按照FixPak 7提供的,选择DB2 Personal Edition下载即可。

    ⒉安装DB2 UDB  
        按照下载顺序安装,具体安装说明可以参看帮助文件。

    ⒊安装VS.NET Add-in
        如果在安装DB2前已经安装了VS.NET 2003,那么就没有必要自行安装。如果之后安装了VS.NET 2003,那么只要在没有VS.NET运行的前提下执行Program Files\IBM\SQLLIB\DB2VSRGX.BAT批处理文件即可。

    ⒋制作DB2 Database Project
        打开VS.NET 2003生成新的项目文件,项目文件的种类为IBM独自追加的DB2 Database Project。生成后还需要设置IBM Explorer,只要和安装的DB2的某个数据库连接即可。

     ⒌添加DB2 Class Library
        添加新项目时候选择VC# Project中选择DB2 Class Library,这样会自动生成DB2Class1.cs文件。

        文件内容( 该文件由 IBM DB2 UDB 8.2 的 VS2003 Addin 自动生成 )

using  System;
using  IBM.Data.DB2;

namespace  StudyDB2ClassLibrary1
{
    
///   <summary>
    
///  Summary description for DB2Class1.
    
///  This class and method can be used as the basis for a DB2 CLR procedure.
    
///  For more information on creating and deploying DB2 CLR procedures visit:
    
///     http://www.ibm.com/software/data/developer
    
///
    
///   </summary>

     public   class  DB2Class1
    
{
        
public   static   void  Procedure1(
            String        inParm1,
            
ref  String    inoutParm2,
            
out  String    outParm3)
        
{
            
//  Create new command object from connection context
            DB2Command myCommand  =  DB2Context.GetCommand();

            
//  TODO: Insert your code here

            outParm3 
=   null ;
            
//  myCommand.CommandText = "SELECT FIRSTNME, MIDINIT, LASTNAME FROM EMPLOYEE";
            
//  DB2DataReader myReader = myCommand.ExecuteReader();
            
//  myReader.Close();
        }

    }

}

   
     有一些小小的感动,因为就这样简单,用它就可以做存储过程了。

     ⒍添加存储过程
       
先在IBM Explorer的Procedures上右击鼠标,添加CLR存储过程,这里只要按照对话框的提示添加即可。然后用鼠标右击DB2 Database Project项目文件,选择Assemblies,这样会有对话框出来,选择好DB2 Class Library生成的DLL,然后点击安装按钮即可。
        如果想要测试,在IBM Explorer上右击添加的过程就可以选择执行,进行测试。

# 在操作中,有很多奇怪的问题,如参数无法使用NULL,CLR存储过程中无法Commit等,
# 我想这些只是我还没有完全理解好,如果有正式使用DB2开发的机会,那个时候再慢慢的摸索吧。

初用DB2 UDB V8.2(Stinger)制作CLR存储过程


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论