首页编程informix下载(怎么查看informix 数据库所用jdbc驱动版本)

informix下载(怎么查看informix 数据库所用jdbc驱动版本)

编程之家2023-11-0671次浏览

老铁们,大家好,相信还有很多朋友对于informix下载和怎么查看informix 数据库所用jdbc驱动版本的相关问题不太懂,没关系,今天就由我来为大家分享分享informix下载以及怎么查看informix 数据库所用jdbc驱动版本的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

informix下载(怎么查看informix 数据库所用jdbc驱动版本)

.net vs怎么连接Informix数据库

在使用 ADO.NET驱动程序之前,应该确保该驱动程序已安装并能正确运行。该驱动程序的当前版本可以使用 Informix Client Software Developer's Kit(SDK) 2.90来安装。与以前的 2.81版本不同,此 SDK版本包括默认的 ADO.NET驱动程序。SDK的安装程序也会警告您有关事项。它并不真正在您的计算机上查找.NET框架的安装,只是警告您必须在安装 SDK之前安装好.NET框架。如果您已经安装了 2.81 SDK,那么最好先卸载它。这两个版本无法共存。还要认识到的一点是,在将 2.90 ADO.NET驱动程序添加到 Visual Studio Projects中时,它会不正确地报告它自己是版本 2.81。

2.9版本是在 2.81版本之上的一次重要升级。它包括一个新的 IfxDataAdapter向导、IPv6支持和一些用于 Informix数据类型(IfxDateTime、IfxDecimal、IfxBlob和 IfxClob)的新类。该文档更为完善,内容总量是以前的两倍。

要点:IBM Informix ADO.NET驱动程序并不仅仅包含在安装目录下的/bin目录下的 IBM.Data.Informix.dll文件中。显然,它使用了由 SDK安装的其他客户端代码。这意味着您必须在所有将使用 ADO.NET驱动程序的机器上安装 Informix Client SDK。您不能只在您的发行版中包括 IBM.Data.Informix.dll。这对一些应用程序而言可能是一个严重的限制。您还需要仔细检查 SDK安装程序(SetNet32),以定义 Informix数据源。

在将 ADO.NET驱动程序用于连接之前,还必须运行一个叫做 cdotnet.sql的存储过程。这个存储过程位于 SDK安装的/etc目录中。这类似于设置 OLEDB驱动程序的过程,尽管这个过程更短一些。这个过程记录在 User's Guide中。(请参阅下面的参考资料部分。)

在完成安装之后,检查一下驱动程序,确保建立了连接。要在 Visual Studio项目中使用 ADO.NET驱动程序,则必须确保已将一个引用添加到客户端 SDK安装的/bin目录中找到的 IBM.Data.Informix.dll中。正确的using语句是:using IBM.Data.Informix。以下是一个演示如何获得到数据库的连接的简单方法:

清单1.到Informix数据库的连接

informix下载(怎么查看informix 数据库所用jdbc驱动版本)

publicvoidMakeConnection(){stringConnectionString="Host="+HOST+";"+"Service="+SERVICENUM+";"+"Server="+SERVER+";"+"Database="+DATABASE+";"+"Userid="+USER+";"+"Password="+PASSWORD+";";//CanaddotherDBparametersherelikeDELIMIDENT,DB_LOCALEetc//FulllistinClientSDK's.NetProviderReferenceGuidep3:13IfxConnectionconn=newIfxConnection();conn.ConnectionString=ConnectionString;try{conn.Open();Console.WriteLine("Madeconnection!");Console.ReadLine();}catch(IfxExceptionex){Console.WriteLine("Problemwithconnectionattempt:"+ex.Message);}}

示例代码中包括一个用于此功能的BasicConnection类。如您所见,ConnectionString只是一个用于连接的分号分隔的参数列表。Open()方法打开了到数据库的连接,如果连接失败,则抛出一个IfxException。IfxException.Message属性通常提供关于失败原因的合理数量的详细信息

基本命令

一旦建立了连接,就可以开始对数据库执行命令。要做到这一点,需要使用IfxCommand对象。IfxCommand的构造函数接收一个字符串(SQL命令文本)和一个IfxConnection作为参数。IfxCommand对象有一系列的Execute方法,以便对数据库执行命令。要清除连接,可以使用IfxConnection.Close()方法。以下是执行某个不返回结果集的简单命令的例子。该命令可能是 insert、update或 delete。

清单2.执行insert、update或delete命令

IfxCommandcmd;cmd=newIfxCommand("insertintotestvalues(1,2,'ABC')",conn);cmd.CommandTimeout=200;//secondstowaitforcommandtofinishtry{introws=cmd.ExecuteNonQuery();}catch(IfxExceptionex){Console.WriteLine("Error"+ex.Message);}

ExecuteNonQuery以整数形式返回受命令影响的行数。您还可以构建参数化语句和查询,后面部分将对它们进行研究。注意IfxCommand的CommandTimeout属性。默认超时时间是 30秒,尽管在文档中没有对此进行说明。除非更改此属性,否则运行 30秒后,命令就会超时,并且将抛出一个异常。

下一个例子是执行一条 select语句,并处理由数据库服务器返回的结果集。对于快速的、只向前通过结果的游标,可以使用由ExecuteReader方法返回的IfxDataReader。不过,每个IfxConnection只可以有一个打开的IfxDataReader。(这是一条 ADO.NET限制,不是 Informix ADO.NET驱动程序的特定限制。)

informix下载(怎么查看informix 数据库所用jdbc驱动版本)

清单3.迭代通过IfxDataReader

IfxCommandcmd=newIfxCommand("select*fromtest",bconn.conn);try{IfxDataReaderdr=cmd.ExecuteReader();while(dr.Read()){inta=dr.GetInt32(0);intb=Convert.ToInt32(dr["b"]);stringc=(String)dr[2];}dr.Close();}catch(IfxExceptionex){Console.WriteLine("Error"+ex.Message);}

每一列都被作为一般的 Object类型进行检索。正如代码所演示的,存在一些将列 Objects转换为正确数据类型的方法。您可以使用IfxDataReader的GetXxx方法。对于每种数据类型,几乎都有相应的方法。GetXxx方法将列数目作为一个参数。可以使用IfxDataReader的索引,通过列的名称来访问列。如果可能的话,.NET框架的Convert函数可以将这些 Objects转换为正确的类型。最后,可以根据列编号为这些列建立索引,并直接强制转换结果(对于某些类型)。

下一个例子将展示如何调用需要一个参数值的存储过程。

清单4.执行带有一个参数的存储过程

IfxCommandcmd=newIfxCommand("test_proc",conn);cmd.CommandType=CommandType.StoredProcedure;//fromSystem.Datacmd.Parameters.Add("in_parameter",2);//manywaystocreatethesetry{cmd.ExecuteScalar();}catch(IfxExceptionifxe){Console.WriteLine("Error"+ifxe.Message);}

对于此IfxCommand,必须将CommandType设置为来自System.Data中的CommandType枚举的StoredProcedure值。为了创建参数,可以使用IfxCommand的Parameters.Add方法。IfxCommands.Parameters是一个集合,因此您可以添加您所需数量的参数。您可以使用任意IfxParameter()构造函数来创建参数,或者可以像上面这样简化参数的创建。不过要注意的是,每个IfxParameter都与一个特定的IfxCommand相关。您不能先创建IfxParameters,然后在多个IfxCommand对象中使用它们。ExecuteScalar()方法现在只返回 1。这一示例没有从存储过程返回任何东西。

要构建一个不执行存储过程的参数化 SQL语句,需要将问号作为占位符插入CommandText中。例如:

清单5.参数化查询

IfxCommandinsCmd=newIfxCommand("insertintoclientstest"+"(clientcode,clientacctname,primarycontact,primaddrcode,"+"initialamt,createdate)values(0,?,?,?,?,TODAY)",conn);

按照IfxParameter对象在命令文本中的顺序,将这些对象添加到IfxCommand的Parameters集合中。在下面的扩展示例中的最终强类型化DataSets中,将进一步演示此技术。

强类型数据集

ADO.NET包括一个叫做DataSet的专用数据库对象。它是一个内存数据库。DataSet由一个或多个(由一些DataRow对象的)DataTable对象组成。DataTable可以通过主键和外键相关联。可以对数据设置一些约束。DataSet也与实际的数据存储断开连接,可以通过一个或多个DataAdapter(每个DataTable一个)来填充它,然后在内存中保存这些数据和所有更改。稍后,DataAdapter可以将这些更改提交回数据存储。

基本的DataSet不是强类型的。它不知道数据库的实际行和列是什么。因此编译器没有检查这些列名称。直到运行的时候,列名称中的任何错误才会显现出来。此外,当开发者记不清列名是"itemcode"还是"itemid"的时候,他会发现基本的 DataSet在这方面毫无帮助。

一个强类型的DataSet可以解决这些问题。而一个普通的DataRow却无法取代它,因为普通的DataRow只有一个(例如)作为OrderDetailDataTable一部分的OrderDetailDataRow。您可以将这些列作为OrderDetailDataRow的实际属性(row.ItemCode)进行引用。用这种方式,可以提高 IntelliSense的生产率。表名称和列名称在属性编辑器中也会变得有效,从而增强诸如数据绑定之类的设计人员级工具。

那么,怎样构建这个提高生产率的强类型DataSet呢?要花费如此多的时间或精力来构建一个您还没有体验到任何净生产效率的东西吗?Informix ADO.NET驱动程序可能没有其他一些驱动程序那么复杂。Microsoft的SQLDataAdapter(用于 SQL Server)包括一个 Generate DataSet向导。而IfxDataAdapter没有这样的向导。不过,您可以构建一些工具来帮助您,也可以使用一些已在.NET框架中构建的工具。最后,您将拥有封装所有数据库交互的强类型DataSet的一个子代。

.NET框架包括一个 XSD编译器(xsd.exe),它可以从某个经过特殊格式化的.xsd文件中生成一个强类型DataSet。但是,谁想键入一串 XML呢?幸运的是,DataSet对象包括一个叫做WriteXmlSchema()的方法。此方法允许您使用非类型化的DataSet为强类型DataSet创建 XSD文件。让我们来看一下如何做到这一点。以下是一个示例表:

清单6.Clientstest表

CREATETABLEclientstest(clientcodeSERIALnotnull,clientacctnameCHAR(60)notnull,primarycontactCHAR(30)notnull,primaddrcodeCHAR(10),createdateDATE,initialamtDECIMAL(18,0));

以下是用于此表的单表DataSet:

清单7.定义DataSet

DS=newDataSet("dsClients");//maintabledefinitionDataTablemainTable=newDataTable("clients");DataColumnCollectioncols=mainTable.Columns;DataColumncolumn=cols.Add("clientcode",typeof(Int32));column.AllowDBNull=false;cols.Add("clientacctname",typeof(String)).MaxLength=60;cols.Add("primarycontact",typeof(String)).MaxLength=30;cols.Add("primaddrcode",typeof(String)).MaxLength=10;cols.Add("initialamt",typeof(Decimal));cols.Add("createdate",typeof(System.DateTime));//primarykeymainTable.PrimaryKey=newDataColumn[]{cols["clientcode"]};//addtabletoDataSetDS.Tables.Add(mainTable);//WriteschematofileDS.WriteXmlSchema("dsClients.xsd");

在这个定义中,可以在数据上设置类型和限制条件。还可以设置列名称。这些名称不必与数据库的列名称匹配。观察本文下载部分中的代码文件,以查看得到的 dsClients.xsd文件。

为了使生成 XSD文件(或者在发生更改后重新生成它)变得更容易,可以为这些DataSetBuilders构建一个框架。(完成此任务所需的所有代码都包含在下面部分。)在想用该框架确定要构建哪些 Builders时,可以使用反射来动态确定某一 Builders是否是DataSetBuilder。让我们从编写IBuildable接口开始。它定义了DataSetBuilder必须实现的属性和方法。

清单8.IBuildable接口

publicinterfaceIBuildable{stringFileName{get;set;}stringFilePath{get;set;}LoggerLog{get;set;}DataSetDS{get;set;}voidBuildXSD();voidCompileXSD(stringoutputDirectory);}

怎么查看informix 数据库所用jdbc驱动版本

打开DbVisualizer软件,点击"Tools"菜单,选择"Connection wizard"选项,进入配置窗口"New Connection Wizard"

在"New Connection Wizard"窗口中,输入一个连接名称,可随意取名,之后点击"Next"

在"Select Database Driver"驱动选择步骤中选择Informix驱动,前提是在DbVisualizer安装目录下的lib目录有ifxjdbc.jar驱动包,没有可在网上下载。点击"Next"

在主设置界面设置数据库信息。从上至下依次为:

Database Userid数据库连接名,必须设置

Database Passwoed数据库连接密码,必须设置

Database Server数据库服务器IP,必须设置

Database Port数据库服务器端口,必须设置

Database数据库名,必须设置

Database Server数据库实例名,必须设置

在上一步的设置窗口中,点击"Ping Server"按钮,测试是否能ping通数据库服务器,测试通过则点击"Finish"完成按钮,失败则检查配置情况

6

配置通过后,在主界面的右侧则会显示出配置的连接,右键选择"Connect"则可连接到配置的数据库

下载的英文翻译

下载的英语是:download。

英 [ˌdaʊnˈləʊd,ˈdaʊnləʊd],美 [ˌdaʊnˈloʊd,ˈdaʊnloʊd]

v.下载

n.已下载的数据资料

过去式:downloaded;过去分词:downloaded;现在分词:downloading;第三人称单数:downloads。

例句:UserscandownloadtheirmaterialtoadesktopPC.

翻译:用户可以把资料下载到台式机上。

短语:

1、download link下载链接

2、download center下载中心

3、download now立即下载

扩展资料:

反义词

upload

英[ˌʌp'ləʊd],美[ˌʌp'loʊd]

v.上传;上载

n.上传

例句:It might take a while for this to upload.

翻译:这个上传可能需要一段时间。

短语:

1、upload manager上传管理器

2、Upload Forms上传表单

3、Upload Download上传下载

非常感谢您的阅读!我们希望本文对于解决您关于informix下载的问题提供了一些有价值的信息。如果您还有其他疑问,我们将很乐意为您提供进一步的帮助。

云空间,云空间有什么用全能空间 国外免费全能空间