连接到informix数据库窗体窗体应用程序

问题描述:

我想弄清楚如何连接到IBM informix数据库。我一直在做一些研究,并在5年前发现了一些线索,但这些例子并不奏效。连接到informix数据库窗体窗体应用程序

我已经从IBM为informix安装了最新的SDK。

我已经在我的项目中引用了IBM.Data.Informix.dll。

我已经包含了使用IBM.Data.Informix;

我只是添加一个按钮,然后单击测试连接。我总是得到这个调试错误 “SQL0035N无法打开文件”C:\ Users \ Adam \ documents \ visual studio 2010 \ Projects \ test \ test \ msg \ en_US \ db2nmp.xml“。”

该文件不存在,我在Program Files(x86)\ IBM Informix Client SDK目录中的任何位置都看不到它。

我的点击代码

private void button1_Click(object sender, EventArgs e) 
    { 
     const string HOST = "192.168.OBFUSCATED"; 
     const string SERVICENUM = "1525"; //Port? 
     const string SERVER = "serverOBFUSCATED"; 
     const string DATABASE = "dbOBFUSCATEDy"; 
     const string USER = "myusername"; 
     const string PASSWORD = "mypassword"; 

     string ConnectionString = "Host=" + HOST + "; " + 
     "Service=" + SERVICENUM + "; " + 
     "Server=" + SERVER + "; " + 
     "Database=" + DATABASE + "; " + 
     "User Id=" + USER + "; " + 
     "Password=" + PASSWORD + "; "; 

     IfxConnection conn = new IfxConnection(); 
     conn.ConnectionString = ConnectionString; 
     try 
     { 
      conn.Open(); 
      MessageBox.Show("Made connection!"); 
     } 
     catch (IfxException ex) 
     { 
      MessageBox.Show("Problem with connection attempt: " + ex.Message); 
     } 
    } 

任何人都知道我做错了,或者当前最好的方式连接到Informix数据库?

在此先感谢。

检查您的informix版本。 您需要的是一个与安装的informix数据库版本兼容的连接器。

检查: http://www.ibm.com/developerworks/data/library/techarticle/dm-1007dsnetids/index.html

+0

这与错误发生在conn.ConnectionString = ConnectionString;上有什么关系。我实际上没有安装它,只是为我正在做的事情做准备。我将在我的服务器上安装informix,然后再试一次。但我高度怀疑,这是什么导致它错误,而不是只是触及了捕捉。我需要从某处复制msg \ en_US \ db2nmp.xml吗? – Bowenac 2014-09-10 21:27:41

我正经历着同样的错误,试图形成具有以下格式的字符串:

string ConnectionString = "Server=" + HOST + ":" + SERVICENUM + "; " + 
    "Database=" + SERVER + "\" + DATABASE + "; " + 
    "User Id=" + USER + "; " + 
    "Password=" + PASSWORD + "; "; 

结果,利用您的示例中的值,应该是:

"Server=192.168.OBFUSCATED:1525;Database=serverOBFUSCATED\dbOBFUSCATEDy;User ID=myusername;Password=mypassword;"