翻译期间不精确的字符转换

时间:2012-08-14 13:21:55

标签: c# asp.net encryption iis-7.5 informix

当我尝试对用户进行身份验证时,我经常遇到以下错误:

ERROR [HY000] [Informix .NET provider]Inexact character conversion during translation.

 public static int IsValidPortalUser(string p_u, string p_p)
        {
            int ret = 0;
            using (IfxConnection conn = new IfxConnection(connectionString))
            {
                IfxCommand DBCmd = new IfxCommand();
                String p = My_Decryption_2(p_p);
                try
                {
                    if (conn.State == ConnectionState.Closed)
                        conn.Open();
                    DBCmd = new IfxCommand();
                    DBCmd.Connection = conn;
                    DBCmd.CommandText = "SELECT nvl(emp_num,0) FROM emp_mas_queue WHERE username = ? AND DECRYPT_CHAR(password, 'XXXXXX') = ? ";
                    DBCmd.Parameters.Add("user_name", p_u);
                    DBCmd.Parameters.Add("password", p);
                    using (IfxDataReader dataReader = DBCmd.ExecuteReader())
                    {
                        if (dataReader.Read())
                        {
                            if (dataReader[0] != null && !string.IsNullOrEmpty(dataReader[0].ToString()))
                            {
                                ret = int.Parse(dataReader[0].ToString());
                            }
                        }
                        dataReader.Close();

                    }
                }
                catch (ThreadAbortException e)
                {

                }
                catch (ApplicationException e)
                {

                }
                conn.Close();

                return ret;
            }
        }

2 个答案:

答案 0 :(得分:2)

我认为这可能是编码问题。

我找到了这篇文章(通过谷歌翻译翻译)

link

这通常是由人们从具有不同编码的来源复制+粘贴其详细信息引起的。尝试在处理之前将字符串转换为您正在使用的代码页。

答案 1 :(得分:2)

由于这是stackoverflow中提到此错误的唯一位置,我将添加通过在连接字符串级别指定DB_LOCALE和CLIENT_LOCALE来解决类似问题,确保两者相同且与Database DB_LOCALE相对应。

修改环境变量无效。

我必须说它是在具有以下客户端版本的Windows 10系统上: clientsdk.4.10.TC6DE.WIN

相关问题