gpt4 book ai didi

c# - 无法在 sql server 中使用 "Contains"搜索数据

转载 作者:行者123 更新时间:2023-11-30 16:59:09 24 4
gpt4 key购买 nike

我有一个包含两列的数据表:

  • ID(int)
  • 文档数据(图像)

我正在使用 C# 将 byte data 插入到 DocumentData 字段中,我的代码如下:-

String Query = "insert into xyz(DocumentData) values(@Document)";
SqlCommand cmdUploadDoc = new SqlCommand(Query , objC);
cmdUploadDoc.Parameters.Add("@Document", ImageBytes);
cmdUploadDoc.ExecuteNonQuery();

我使用 FileStream 代码从 word 文件读取 ImageBytes 的地方是:-

FileStream fs = new FileStream(string filepath, FileMode.Open);
int len = (int)fs.Length;
byte[] ImageBytes= new byte[len];
fs .Read(ImageBytes, 0, len);
fs .Close();

但是当我在 sql server 中使用 fulltext 获取/搜索数据时,这会返回 null 而该关键字存在于 DocumentData 字段中并且文件值已成功插入数据库。

查询是:

select * 
from xyz
where contains(DocumentData, 'Java')

注意:转换为字节的文档文件有这样的一些数据

KEY SKILLS    Java SE 1.7, Eclipse, JUnit, Ant, Maven   
Java EE Servlets, JSPs, Tomcat, JPA, Spring XML Sax, DOM
SQL Oracle 11g UNIX vi editor, shell scripting UML Argo UML
VC Tools SVN Certifications A+, Network+, Security+, MSP, MCSA
FDM TRAINING

最佳答案

如果将二进制数据转储到列中,SQL Server 不知道它代表什么,也不会搜索或索引它。

您需要添加一个type 列来告诉 FTS 系统使用什么过滤器来解析目录的数据。

参见:Full Text Search Filters .

关于c# - 无法在 sql server 中使用 "Contains"搜索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24205027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com