Net2003连接Unix操作系统下的Informix数据库
Net2003连接Unix操作系统下的Informix数据库
近年来在各大商业银行和保险业及许多的大型企业中Unix操作系统和Informix数据库的使用得到了很大的发展。但这些单位的绝大多数的办公用机器却是使用Windows操作系统的个人机。Unix操作系统和Informix数据库一般是业务系统使用。这里就存在一个问题,为了使各有关管理人员能够方便地查询到各种业务资料,就必然要在Windows操作系统下和业务系统的Informix数据库进行连接。
Net2003是目前较为理想的开发工具,使用Net2003可以很方便地与许多数据库进行连接。但是目前Net2003还不能和Unix下的Informix数据库直接连接,要连接Unix Informix我们先还要下载相关的Informix Client驱动程序,具体过程如下:
IBM Informix CSDK.2.81.TC2.zip的下载地址
下载完后解压CSDK.2.81.TC2.zip然后安装,安装完毕后你就可以开始配置IBM Informix Client-SDK 2.81及Odbc连接了,具体配置过程如下:
1
2:配置server information见下图
上面的设置在下面会有解释,作完后点击Make Default Server
3:配置host information见下图:
各配置意思在下面会有解释。
4:上面各配置的意思以win2k为例
a:首选配置C:\WINNT\system32\drivers\etc的hosts文件,在文件中增加一行
44.84.*.* jj0801
前面为安装Unix Informix 机器的ip 后面为机器的host名称
b:配置C:\WINNT\system32\drivers\etc的services文件,在文件中增加一行
# <service name> <port number>/<protocol>
cxxt 6787/tcp
这个cxxt是Unix Informix的service name 6787/tcp指的也是Unix Informix的服务端口及协议,如果你的unix Informix配的不是这样以你自己的配置为准。
对照上面的配置情况,应该就不难明白了吧。
5:配置完IBM Informix Client-SDK 2.81后就可以配置odbc连接了,具体过程如下(以win2k为例):
a:点击控制面板—管理工具—数据源odbc—弹出如下对话框
b:点击系统DSN—点击添加在弹出的画面选择IBM INFORMIX 3.82 32 BIT,点击完成。
c:弹出配置画面,在General中配置Data Source Name,你可以自己定义该数据源的名称和Description你对该数据源的备注
d:配置Connection项
上图的配置中cxxt、jj0801、cxxt、onsoctcp等在配置IBM Informix Client-SDK 2.81时已经做了说明Database Name为你要连接的具体的Informix数据库名,Userid、Password为unix下Informix数据库的登陆用户及密码。
e:配置Environment为如下图即可
到此你便建立了一个可以使用的Odbc连接。
下面是使用刚才建立的odbc连接Unix 下的Informix数据库的程序片断(*.vb中)
Imports System.Data
Imports Microsoft.Data.Odbc
Public Class WebForm2
Inherits System.Web.UI.Page
Public strconstr1 As String = "DSN=cxxt;uid=cxxt;pwd=xxxx"
Public myconn1 As OdbcConnection = New OdbcConnection(strconstr1)
Public ds1 As DataSet = New DataSet()
Public dap1 As OdbcDataAdapter = New OdbcDataAdapter("", myconn1)
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
dap1.SelectCommand.CommandText = "select * from 项目名称表"
myconn1.Open()
Dim dbuild1 As OdbcCommandBuilder = New OdbcCommandBuilder(dap1)
dap1.Fill(ds1, "xmmc")
DataGrid1.DataSource = ds1.Tables(0)
DataGrid1.DataBind()
myconn1.Close()
End Sub
(在*.aspx中)
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="WebForm2.aspx.vb" Inherits="infomixsjk.WebForm2"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm2</title>
<meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<P><FONT face="宋体"> </P>
</FONT>
<P> </P>
<asp:label id="Label7" style="Z-INDEX: 101; LEFT: 256px; POSITION: absolute; TOP: 20px" runat="server" Height="29px" Font-Bold="True" Font-Names="隶书" BackColor="LightGray" Font-Size="Large" Width="334px">项目名称查询</asp:label>
<asp:datagrid id="DataGrid1" style="Z-INDEX: 102; LEFT: 24px; POSITION: absolute; TOP: 75px" runat="server" BackColor="LightGoldenrodYellow" Font-Size="X-Small" Width="800px" OnPageIndexChanged="DataGrid1_Paged" PagerStyle-PrevPageText="上一页" PagerStyle-NextPageText="下一页" HorizontalAlign="Center" PageSize="5" AllowPaging="True" ShowFooter="True" BorderColor="Tan" CellPadding="2">
<SelectedItemStyle ForeColor="GhostWhite" BackColor="DarkSlateBlue"></SelectedItemStyle>
<EditItemStyle Font-Size="XX-Small" HorizontalAlign="Center" VerticalAlign="Middle"></EditItemStyle>
<AlternatingItemStyle BorderWidth="1px" BorderStyle="Solid" BorderColor="Black" BackColor="PaleGoldenrod"></AlternatingItemStyle>
<ItemStyle Font-Size="X-Small"></ItemStyle>
<HeaderStyle Font-Bold="True" Wrap="False" HorizontalAlign="Center" BorderColor="#000040" VerticalAlign="Middle" BackColor="Tan"></HeaderStyle>
<FooterStyle Font-Size="X-Small" BackColor="Tan"></FooterStyle>
<PagerStyle NextPageText="下一页" PrevPageText="上一页" HorizontalAlign="Center" ForeColor="DarkSlateBlue" Position="TopAndBottom" BackColor="PaleGoldenrod"></PagerStyle>
</asp:datagrid>
</body>
</HTML>
查询结果如下图:
至此一个完整利用Net Odbc连接Unix Informix的过程全部结束。