C#连接Informix数据库
最近在工作中遇到了需要连接Informix数据库的问题,在通过研究后发现了可以通过多种方式实现,我选择的是通过IBM Informix .NET Provider。该方式需要引用IBM.Data.Informix.dll。
using IBM.Data.Informix;
using System;
namespace InformixLinkTest
{
class Program
{
static void Main(string[] args)
{
try
{
// Open a connection
IfxConnection conn = new IfxConnection(
"Host=127.0.0.1;Service=9098;"
+ "Server=informixserver;Database=MyDatabase;"
+ "User ID=informix;password=MyPassword;db_locale=en_us.819"
);
conn.Open();
IfxDataReader rd;
using (IfxCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select * from simpletable";
rd = cmd.ExecuteReader();
rd.Read();
do
{
if (rd.HasRows)
{
///Assuming the table has two columns
Console.WriteLine("{0}", rd[]);
} } while (rd.Read());
}
conn.Close();
}
catch (IfxException e)
{
Console.WriteLine(e.ToString());
Console.ReadLine();
}
}
}
在调试过程中会发现出现异常(System.DllNotFoundException:“无法加载 DLL“IfxDotNetIntrinsicModule.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。”),具体如图:,通过提示可以看到找不到IfxDotNetIntrinsicModule.dll,我通过在安装Informix数据库的路径中找到了这个包放到了bin文件夹下后
,就能正常运行了。
另一个问题就是在连接串中最开始db_locale的值我是给的utf8,按照这个也会出现异常情况,异常代码为(ERROR [HY000] [Informix .NET provider][Informix]Database locale information mismatch. ),截图如下:,最后将其设置为db_locale=en_us.819后就可正常连接到informix数据库。
C#连接Informix数据库的更多相关文章
- ODBC方式连接Informix数据库
公司某个报表系统使用Informix数据库,在谋划使用Perl语言写数据采集程序后,花费了很多时间建立Perl访问Informix连接.恰巧Windows下ActivePerl的CPAN中又没有DBD ...
- JDBC连接各种数据库的方法(经典)
1)连接Oracle 8/8i/9i/10g/11g(thin模式) Class.forName("oracle.JDBC.driver.OracleDriver").newIns ...
- JDBC连接各种数据库的方法,连接MySql,Oracle数据库
JDBC连接各种数据库的方法: JDBC编程步骤: 1.导入jar包 2.注册驱动 3.获取数据库连接对象 4.定义SQL语句 5.获得执行SQL语句对象statemnet 6.执行SQL语句 7.处 ...
- [转]Java连接各种数据库的方法
//MySQL: String Driver="com.mysql.jdbc.Driver"; //驱动程序 String URL="jdbc:m ...
- java连接各种数据库代码大全
1.Oracle8/8i/9i数据库(thin模式)Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();S ...
- INFORMIX数据库常用命令
INFORMIX数据库常用命令 一.onstat命令集 1.onstat - 说明:查看数据库当前的状态 用法:onstat - 2.onstat -c 说明:查看数据库的配置文件 用法:ons ...
- Mysqldb连接Mysql数据库(转)
python操作mysql数据库 Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库 ...
- JAVA采用JDBC连接操作数据库详解
JDBC连接数据库概述 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供 ...
- Java连接各类数据库
几种常用数据库的连接,以及Dao层的实现. 1.加载JDBC驱动: 1 加载JDBC驱动,并将其注册到DriverManager中: 2 //MySQL数据库 3 Class.forName(&quo ...
随机推荐
- servlet打包成war
1.maven pom文件里指定打包类型 2.jdk工具 进入servlet目录,执行jar -cf war名 *
- 树分治(挑战p360)
poj1741 题:http://poj.org/problem?id=1741 #include<iostream> #include<algorithm> #include ...
- Survey sampling
Survey sampling \(\bullet\)What is survey sampling?(c.f.census survey)(c.f.:参考,查看,来源于拉丁语) \(\bullet\ ...
- django框架进阶-解决跨域问题
####################################### """ 一.为什么会有跨域问题? 是因为浏览器的同源策略是对ajax请求进行阻拦了,但是不 ...
- 5-6 学生CPP成绩计算
给出下面的人员基类框架: class Person { protected: string name; int age; public: Person(); Person (string p_name ...
- webpack4的迁移
引用于https://www.jianshu.com/p/7ae252f27f09 感觉是突然之间,webpack4的消息就满天飞了,听说打包速度提高了很多,还有最大的噱头是实现了零配置,leader ...
- 牛客-Corn Fields
题目传送门 sol:状压和动规,把每一行的m个01压缩成一个int 状压dp #include "bits/stdc++.h" using namespace std; ; con ...
- Qt 添加Includes、Libraries库
1 #------------------------------------------------- # # 加载相机SDK-Includes-Libraries # #------------- ...
- webStrom 运行React-Native项目
1.点击“Edit Configurations...” 2.点击“+”选择“npm” 3.“Name”随便输入一个名称,“Command”改为“help”,然后在点击“+”号. 4.选择“Run E ...
- 【AUTO Uninstaller - 使用教程】Autodesk系列软件终极完美修复卸载工具【转载】
小伙伴是不是遇到 CAD/3dmax/maya/Revit/Inventor 安装失败或者安装不了的问题了呢?AUTODESK系列软件着实令人头疼,CAD/3dmax/maya/Revit/Inven ...