我正在尝试在数据库中找到特定的字符串。我目前正在使用FlameRobin打开FDB文件,但是该软件似乎没有适当的功能来完成此任务。
我尝试了以下SQL查询,但没有成功:
SELECT
*
FROM
*
WHERE
* LIKE '126278'
毕竟,什么是最好的解决方案?预先感谢。
答案 0 :(得分:0)
以下是Firebird文档:https://www.firebirdsql.org/file/documentation/reference_manuals/fblangref25-en/html/fblangref25.html
您需要阅读
execute statement
命令,包括for execute statement
变体然后在SP中枚举所有表,然后枚举这些表中的所有列,然后为每个表运行常规
select 'tablename', 'columnname', columnname
from tablename
where columnname containing '12345'
遍历每个表的每个字段。
但是实际上,最好是避免使用SQL命令,而是将所有数据库提取到一个长SQL脚本中,然后在记事本(或任何其他文本编辑器)中打开该脚本,然后在其中搜索所需的字符串会更好。
答案 1 :(得分:0)
您不能这样做。但是您可以将FDB文件转换为CSV这样的文本文件,以便您可以同时在所有表/文件中搜索字符串。
第一步,您需要一个软件来转换数据库文件。我建议使用Full Convert来完成。只需获得免费试用版并下载即可。它真的很容易使用,并且可以将每个表导出到不同的CSV文件中。
对于该任务,您可以使用Notepad++的查找文件功能来搜索位于同一文件夹中的所有CSV文件中的字符串。
当Notepad ++突出显示该字符串时,它将显示它在哪个文件中以及行号。完全转换会使用与原始表相同的名称保存每个CSV,因此无论您使用什么数据库管理器软件,都可以轻松找到它。