Sql blob sub_类型1(.NET驱动程序)上的Firebird搜索(like)
我试图在Blob sub_type 1字段中搜索一些文本。当搜索文本为1到28个字符时,搜索工作正常。当搜索文本超过28个字符时,会出现“-303算术异常、数字溢出或字符串截断”异常 当我从DB运行sql时,它工作正常,只有在使用.NET驱动程序时才会出现问题 我尝试将parameter.FbDbType更改为FbDbType.Text,但随后出现“-303内部错误” 我这里的点子快用完了。有人能帮我吗 提前谢谢 K 更新: 下面是一个具有相同结果的示例应用程序:Sql blob sub_类型1(.NET驱动程序)上的Firebird搜索(like),sql,blob,firebird,sql-like,Sql,Blob,Firebird,Sql Like,我试图在Blob sub_type 1字段中搜索一些文本。当搜索文本为1到28个字符时,搜索工作正常。当搜索文本超过28个字符时,会出现“-303算术异常、数字溢出或字符串截断”异常 当我从DB运行sql时,它工作正常,只有在使用.NET驱动程序时才会出现问题 我尝试将parameter.FbDbType更改为FbDbType.Text,但随后出现“-303内部错误” 我这里的点子快用完了。有人能帮我吗 提前谢谢 K 更新: 下面是一个具有相同结果的示例应用程序: try
try
{
FbConnectionStringBuilder csFB = new FbConnectionStringBuilder();
csFB.Database = @"C:\MyDatabase\ITEMS.FDB";
csFB.UserID = "SYSDBA";
csFB.Password = "masterkey";
csFB.Pooling = true;
csFB.ServerType = FbServerType.Embedded;
using (var connection = new FbConnection(csFB.ToString()))
{
connection.Open();
using (var command = connection.CreateCommand())
{
var param = command.CreateParameter();
param.FbDbType = FbDbType.VarChar;
param.Value = "TESTTESTTESTTESTTESTTESTTESTTESTTESTTEST@TEST.COM";
//param.Value = "TEST@TEST.COM";
param.ParameterName = "@parm0";
command.Parameters.Add(param);
command.CommandText = "SELECT * FROM itemprops WHERE UPPER(SUBSTRING(itemdisplaysrcaddr FROM 1)) CONTAINING @parm0";
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(Convert.ToString(reader["itemdisplaysrcaddr"]));
}
}
}
connection.Close();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
Console.ReadLine();
Firebird的确切版本是什么?我正在使用3.0.2.0.NET驱动程序来创建数据库。抱歉。。我对这个有点陌生。。如何找到版本?听起来像是2.5.1中修复的错误:可能是.NET提供程序中的问题。您使用的完整代码是什么?