C# Informix db连接和加载到datatable不工作
我正在尝试连接到web应用程序中的informix数据库,并根据用户输入的项目代码检索数据,然后将其存储在datatable中。稍后,我想从datatable中获取数据,并将其显示在所选项目的文本框中它是我的连接字符串中的一个odbc连接驱动程序={IBM INFORMIX odbc驱动程序}C# Informix db连接和加载到datatable不工作,c#,asp.net,datatable,connection-string,informix,C#,Asp.net,Datatable,Connection String,Informix,我正在尝试连接到web应用程序中的informix数据库,并根据用户输入的项目代码检索数据,然后将其存储在datatable中。稍后,我想从datatable中获取数据,并将其显示在所选项目的文本框中它是我的连接字符串中的一个odbc连接驱动程序={IBM INFORMIX odbc驱动程序} if (DropDownList4.Text == "***.**.**.**" || DropDownList4.Text == "***.**.**.**" || DropDownList4.
if (DropDownList4.Text == "***.**.**.**" || DropDownList4.Text == "***.**.**.**" || DropDownList4.Text == "***.**.**.**")
{
//string abilene = ConfigurationManager.ConnectionStrings["Abeliene"].ConnectionString.ToString();
IfxConnection conn = new IfxConnection("User Id=****;Password=****;" +"Host=abkrisc1;Server=abkrisc1;" +"Service=1719;DB=circa119;");
DataTable Abilene = new DataTable();
Abilene.Columns.Add("item");
Abilene.Columns.Add("desc");
Abilene.Columns.Add("upc");
Abilene.Columns.Add("itemupc");
Abilene.Columns.Add("ctyp");
Abilene.Columns.Add("citg");
Abilene.Columns.Add("best");
Abilene.Columns.Add("disp");
Abilene.Columns.Add("mold");
Abilene.Columns.Add("csel");
IfxCommand cmd;
cmd = new IfxCommand("Select t_item,t_idsc,t_upct,t_item_upc,t_ctyp,t_citg,t_best,t_disp,t_mold,t_csel from tsckcm907 where t_item = @item'");
conn.Open();
cmd.Parameters.Add("@item", IfxType.VarChar).Value = TxtItem.Text;
try
{
IfxDataReader myreader = cmd.ExecuteReader();
Abilene.Load(myreader);
Response.Write(Abilene.Columns);
con = true;
}
catch (Exception ex)
{
throw ex;
con = false;
}
if (con == true)
{
while (Abilene.Rows.Count > 0)
{
TxtItem.Text = Abilene.Rows[0]["item"].ToString();
lbldesc.Text = Abilene.Rows[1]["desc"].ToString();
}
}
调试时遇到的错误是在conn.open()->error[HY000][Informix.NET provider][Informix]服务器abkrisc1在sqlhosts中未作为dbserver名称列出
我用sql数据库做过类似的场景,但从未使用过informix。如果有人能帮我编写这段代码,那就太棒了,甚至我使用的这段代码都是从ibm网站上找到的。检查您的informix服务器配置(正如错误所述,问题可能出在您的配置中),它应该包含名为abkrisc1的服务器,监听端口1719
如果没有问题,请检查您的DSN配置(这可能因您的操作系统而异-请检查以了解详细信息)。internet中的文档和错误消息具有误导性。 我也犯了同样的错误,同时我发现了如何解决它 安装Informix Client SDK for Windows并使用Informix的ODBC驱动程序(带或不带.NET)时,必须传递以下参数:
IBM无法给出更智能的错误消息,这真是一件令人遗憾的事。这个答案肯定是错误的。问题不是sqlhosts文件(顺便说一句,它不在Windows上使用)