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





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

原文地址:https://www.cnblogs.com/zgqjymx/p/1972836.html