1 C#程序连接UPDB
1.1 环境说明
OS version:win8.1 64bit
UPDB version:
UPDB 6.2 (DB6.0 FS02)
CYGWIN_NT-5.2-WOW64tbvwin-2003-64 1.7.13(0.260/5/3) 2012-04-05 12:43 i686 Cygwin version(little-endian)
Patch files(FS02_92762a FS02_98412j FS02_101474a FS02_101637a FS02_101759c FS02_101764a )
1.2 ODBC安装
注意事项:
1. 安装前装备upodbc.exe 和libupcli.dll两个文件
2. 注意在64位操作系统上安装32位的数据库的odbc时,不要把libupcli.dll文件放在c;\windows\system32或c:\windows\syswow64目录下,否则,安装会报错.
(1) 使用管理员用户打开CMD,安装ODBC
E:\updb\updb_win32>upodbc_driver_installer_6_32.exe -i e:\updb\updb_win32
UpRightODBC Driver is being installed to [e:\updb\updb_win32\ ]
<Caution!!> If you changed the driver path,you should remove all UpRight DSNs a
nd add them again.
Success to INSTALL UpRight 6 ODBC Driver
(2) 配置ODBC
打开”控制面板”-“管理工具”-“ODBC数据源(32位)”,选择”系统DSN”选项卡,选择”添加”按钮,在出现的对话框中,选择”UPRIGHT6 ODBC DRIVER”.
在ODBC中配置数据库的连接信息
配置完成后,会在”系统DSN”中显示新建的UPDB6的数据源.
1.3 OLEDB安装
注意:1. 准备upprov6.dll和msdup6.dll
2. 在安装OLEDB的DLL时,要先安装ODBC.
3. 在WINDOWS64位的操作系统上安装32位的OLEDB的DLL的,要使用C:\WINDOWS\SYSWOW64目录下的cmd窗口,而不能使用默认的CMD窗口.
(1) 安装OLEDB的DLL文件
因为此次安装的OLEDB为32位,因此安装时使用c:\windows\syswow64\regsvr32来注册,但是在64位的操作系统上安装64位OLEDB的时候,使用默认的regsvr32来注册即可.
(2) 测试OLEDB的连通性
创建一个以”.udl”为扩展名的文件,并在CMD中运行如下命令
C:\Windows\SysWOW64\rundll32.exe "C:\Program Files (x86)\CommonFiles\System\Ole DB\oledb32.dll", OpenDSLFile E:\updb\test.udl
之后会弹出如下的对话框,在”提供程序”选项卡中,会显示”UpRight OLE DB provider”和”UpRight OLE DBprovider(MSDUP)”,选择”UpRight OLE DB Provider”然后点击”下一步”按钮
在数据源中输入在ODBC配置的数据源名称”updb6”或”ip,port,dbname”来测试OLEDB连接是否成功.
1.4 C#通过ODBC连接UPDB
连接串:
dsn=updb6;UID=test;PWD=test;
测试代码:
using System;
usingSystem.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
usingSystem.Web.UI.WebControls;
using System.Data;
using System.Data.Odbc;
namespace WebApplication1
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
OdbcConnection con = newOdbcConnection("dsn=updb6;UID=test;PWD=test;");
OdbcCommand cmd = new OdbcCommand("select * from t1", con);
con.Open();
OdbcDataReader dr =cmd.ExecuteReader(CommandBehavior.CloseConnection);
GridView1.DataSource = dr;
GridView1.DataBind();
dr.Close();
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}
测试结果:
1.5 C#通过OLEDB连接UPDB
连接串:
Provider=upprov.Upprov.1;Data Source=updb6;userid=test;password=test;
或:
Provider=upprov.Upprov.1;Data Source=ip,port,dbname;userid=test;password=test;
测试代码:
using System;
usingSystem.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
usingSystem.Web.UI.WebControls;
using System.Data;
usingSystem.Data.OleDb;
namespace WebApplication1
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
OleDbConnection con = newOleDbConnection("Provider=upprov.Upprov.1;Data Source=updb6;userid=test;password=test;");
OleDbCommand cmd = new OleDbCommand("select * from t1", con);
con.Open();
OleDbDataReader dr =cmd.ExecuteReader(CommandBehavior.CloseConnection);
GridView1.DataSource = dr;
GridView1.DataBind();
dr.Close();
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
}
}
测试结果:
附:OLEDB与ODBC卸载方法
ODBC卸载
1. 首先删除在控制面板ODBC中配置的UPDB的数据源
2. 在CMD窗口中执行upodbc_driver_installer_6_32.exe-r
OLEDB卸载
在CMD窗口中执行regsvr32/u msdup6.dll
regsvr32 /u upprov6.dll