• DB2 9 运用开拓(733 检修)认证指南,第 6 部分: .NET 编程(3)


    完成 DB2 与 .NET 框架的无缝接口
    developerWorks








    跟尾到数据库

    在本节中,您将进修如何从 .NET 运用递次中跟尾到 DB2 数据库。

    操纵 DB2 .NET Data Provider 创立跟尾

    当操纵 DB2 .NET Data Provider 时,可以颠末议定 DB2Connection 类创立数据库跟尾。起首,必需创立一个存储跟尾参数的字符串。上面是一个跟尾字符串的示例:

     String connectString = "Database=SAMPLE"; 
     




    当操纵该字符串时,将测验考试跟尾到 SAMPLE 数据库:

    清单 1. 跟尾字符串

                        
     String cs = "Server=draco:50000;Database=SAMPLE;UID=db2admin;PWD=1a2b3c4d;
    Connect Timeout=30";
     // When used, attempts to connect to the SAMPLE database on the server
     // 'draco' through port 50000 using 'db2admin' and '1a2b3c4d' as the user id
     // and password respectively. If the connection attempt takes more than thirty
     // seconds, the attempt will be terminated and an error will be generated.
     


    要创立数据库跟尾,可将 connectString 通报给 DB2Connection 构造函数。 然先操纵 DB2Connection 对象的 Open() 门径正式地跟尾到 connectString 中标识的数据库。

    上面显现怎样在 C# 中跟尾到数据库:

    清单 2. 在 C# 中跟尾到数据库

                        
     String connectString = "Database=SAMPLE"; 
     DB2Connection conn = new DB2Connection(connectString); 
     conn.Open(); 
     return conn; 
     







    回页首



    用 ADO.NET 公共基类创立跟尾

    .NET 框架 2.0 供给了一个名为 System.Data.Common 的称号空间,此中包含一组可供任何 .NET 数据库供给者共享的基类。 这可以供给一个坚固的编程接口,从而为通用 ADO.NET 数据库运用递次开拓门径供给方便。在 .NET Framework 2.0 中,DB2 .NET Data Provider 中首要的类是从 System.Data.Common 基类肩承当任过去的。因此,generic ADO.NET 运用递次颠末议定 DB2 .NET Data Provider 来操纵数据库。上面的 C# 代码演示了创立数据库跟尾的通用门径:

    清单 3. 创立数据库跟尾

                        
     DbProviderFactory factory = DbProviderFactories.GetFactory("IBM.Data.DB2"); 
     DbConnection conn = factory.CreateConnection(); 
     DbConnectionStringBuilder sb = factory.CreateConnectionStringBuilder(); 
     if( sb.ContainsKey( "Database" ) ) { sb.Remove( "database" ); 
     sb.Add( "database", "SAMPLE" ); } 
     conn.ConnectionString = sb.ConnectionString; 
     conn.Open(); 
     


    任何通用 ADO.NET 运用递次都从 DbProviderFactory 对象劈脸。该对象创立 .NET 数据供给者对象操纵特定命据库产物的通用实例,例如跟尾、数据适配器、下令和数据阅读器。在清单 3 中的例子中,通报给 GetFactory() 门径的 IBM.Data.DB2 字符串用心地标识 DB2 .NET Data Provider,随后初始化一个 DbProviderFactory 实例,后者创立特定于 DB2 .NET Data Provider 的数据库供给者实例。DbConnection 对象可以跟尾到 DB2 眷属数据库,例如 DB2Connection 对象,它实际上肩承当任自 DbConnection

    颠末议定操纵 DbConnectionStringBuilder 类,可感觉数据供给者确定跟尾字符串关键字,并天生一个定制的跟尾字符串。清单 3 中的代码反省 DB2 .NET Data Provider 中可否存在一个名为database 的关键字。如果存在,则该代码天生一个用于跟尾到 SAMPLE 数据库的跟尾字符串。





    回页首



    跟尾池

    当第一次翻开到 DB2 数据库的跟尾时,会同时创立一个跟尾池。跟尾被关闭时,就会进入跟尾池,以备其它需要跟尾的运用递次操纵。默许状态下,DB2 .NET Data Provider 将启用跟尾池。 可以操纵 Pooling=false 跟尾字符串键/值对关闭跟尾池。

    可以颠末议定设置上面的跟尾字符串关键字来控制跟尾池的行为:

    • 最小和最年夜池年夜小(min pool size, max pool size)
    • 跟尾在前往到跟尾池之前闲置的时辰长度(connection lifetime)
    • 当关闭往后跟尾时,可否将其放入跟尾池(connection reset)





    回页首



    数据库跟尾:示例代码

    清单 4 演示了如何从 ADO.NET 运用递次中跟尾到 DB2:

    清单 4. 从 ADO.NET 运用递次中跟尾到 DB2

                        
    using System;
    using System.Data;
    using System.IO;
    using IBM.Data.DB2;
    >

    在编译该递次之前,必需确保 INCLUDE 状态变量中包含 �2PATH%\INCLUDE 作为第一个目次。为此,更新 Microsoft Visual C .NET 的状态设置文件,该文件的地位为 C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\vsvars32.bat。该文件包含以下下令:

     @set INCLUDE=%MSVCDir%\ATLMFC\INCLUDE;...; %FrameworkSDKDir%\include;%INCLUDE%
     


    %INCLUDE%(用于设置 �2PATH%\INCLUDE 途径)从列表的结尾挪动到开首地位,如下所示:

     @set INCLUDE=%INCLUDE%;%MSVCDir%\ATLMFC\INCLUDE;...; %FrameworkSDKDir%\include
     


    为了编译该代码,将该递次放入 �2PATH%\samples\.NET\cs,这个目次包含脚本 bldapp.bat。然后,发出以下下令:

     bldapp ConnDb
     


    要运转该递次,发出以下下令:

     ConnDb
    





    版权声明: 原创作品,许诺转载,转载时请务必以超链接情势标明文章 原始出处 、作者信息和本声明。不然将追究法例责任。

  • 相关阅读:
    RESTful API设计指南(转载)
    理解RESTful架构(转载)
    什么是FreeMaker?
    为了梦,向前冲!
    php时间输出结果减去一分钟
    利用css+js制作下拉列表
    zzz的口胡记
    UOJ507. 【JOISC2020】星座3(贪心)
    vim使用小记
    UOJ#62【UR #5】怎样跑得更快(反演)
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1972836.html
Copyright © 2020-2023  润新知