将包含 SQLite 数据库文件的文件夹转换为 SQL 表 您可以在任何地方进行查询
将查询流代理指向该文件夹。它会在自己的计算机上读取文件,并在本地缓存中构建表,并随着文件的到达、更改或删除而保持表的更新。您可以从 Excel、Google Sheets、Nova、Claude 或 REST API 查询这些表。无需上传任何文件,也无需转换或编辑任何文件。
你最终会得到什么
最终你会得到一个由文件夹中所有 SQLite 文件构建而成的数据库。一个名为“ 活动 每个文件合并成一个表格, 文件集.数据事件每一行都包含一个 源文件 该列用于标识文件来源。没有 ATTACH 脚本,也没有手动合并。代理程序以只读方式打开每个文件,将行复制到自身计算机上的加密本地缓存中,然后将其作为 SQL 提供给 Excel、Google Sheets、查询生成器、警报或其他任何查询查询流的工具。文件始终不会离开您的网络。
随着时间推移而到达的文件
| sales_2026_07.db |
| sales_2026_08.db |
| sales_2026_09.db |
每个文件的行,一个表
| 源文件 | 行计数 | first_row_id |
|---|---|---|
| sales_2026_07.db | … | … |
| sales_2026_08.db | … | … |
| sales_2026_09.db | … | … |
每个表都位于一个名为“schema”的模式中。 文件集表名由您指定。数据库中找到的每个成员表都会变成 data_<成员>因此,有一张名为 活动 变成 文件集.数据事件 以及一张名为 用户 变成 fileset.data_users合并后的表包含来自每个匹配文件的该成员表的行。声明的列类型必须在所有文件中保持一致;如果不一致,代理会指出不一致的文件,并且不会构建任何表,直到您修复或排除该文件为止。每一行都包含 源文件 以及稳定的 _row_id.
| 桌子 | 它包含什么 |
|---|---|
文件集.数据事件 | 行 活动 每个数据库文件中的表,都带有标签 源文件. |
文件集.数据_<成员> | 每个成员表名对应一个合并表。 |
每个文件夹连接器还会提供记账表格。 文件, 文件事件, 目录, 目录快照 和 卷这样您就可以看到哪些文件存在以及哪些文件发生了更改。
它的价值所在:
你需要准备什么
查询流帐户
所有套餐(包括免费套餐)都包含文件夹连接器。免费套餐是永久有效的,并非试用期。文件夹可容纳的文件数量没有上限。
代理程序,2.6.0 或更高版本
安装在可以打开该文件夹的计算机上:文件服务器本身、办公计算机或文件所在的计算机。旧版代理程序会将文件夹卡片显示为灰色并带有“显示错误”字样。 代理 2.6.0+ 徽章。支持 Windows、Mac 或 Linux 系统。
代理程序看到的文件夹路径
本地路径或网络共享,写作 \\服务器\共享\文件夹. The Agent runs as a service, so it cannot see drives you mapped at your login (Z: and friends). On Windows it can sign in to a share with a login you store; on Linux or a Mac, mount the share first (Linux under /mnt 或 /媒体, a Mac under /Volumes).
工作在哪里进行? 在运行代理的计算机上,它会扫描文件夹,并将扫描的行复制到该计算机上的加密本地缓存(一个名为“name”的模式)。 文件集并针对该缓存运行所有查询。您的文件仅被读取,绝不会被修改、移动或上传。
分五步完成设置
在可以打开该文件夹的计算机上安装代理程序



登录,打开 下载然后在能够打开 SQLite 数据库文件文件夹的计算机上安装系统代理:例如文件服务器,或者任何可以访问共享文件夹且始终在线的计算机。安装过程只需一分钟,安装完成后即可自动运行。您需要 2.6.0 或更高版本;下载页面始终提供最新版本。
为什么使用小型程序而不是驱动程序? 该代理程序只需安装一次,即可在 Windows、Mac 或 Linux 系统上运行(Windows 系统下约 85 MB,Mac 和 Linux 系统下略超过 100 MB)。它会打开一个与查询流的加密出站连接,这是它唯一需要的网络路径:无需打开入站端口,也无需 VPN。它会读取自身所在的文件夹,因此文件不会移动,只有查询返回的行数据才会通过互联网传输到您端的插件、浏览器或 AI 客户端。
下载页面显示 您的访问密钥当代理提示时,将其粘贴到代理中,然后等待徽章读取。 已连接到查询流这是你在代理人的电脑上唯一要做的事情;其他所有操作都在你的浏览器中进行。
-
将其指向包含 SQLite 数据库文件的文件夹
返回浏览器打开 数据 → 数据代理找到您刚刚安装的代理,然后单击其 添加连接器 按钮。打开 文件和文件夹 药丸和选择 SQLite文件夹 卡片。不确定哪张卡片合适?选择一张。 文件夹中的文件 相反:代理程序会扫描文件夹,在“我们发现了什么”页面上列出文件夹的内容,并为您打开预先填充好的正确卡片。
巫师跑 文件夹 → 检查 → 设置 → Realm → 查看。 在 文件夹:
- 根文件夹
- One path per line, as the Agent’s computer sees it. Each folder shows a status (reachable, denied, missing, unreachable, credentials invalid or not mounted) as soon as you add it. On a Windows Agent a share that needs a login gets one from the folder’s Credential column, stored once per server; on Linux or a Mac, mount the share first.
- 扫描子文件夹,最大深度
- 默认情况下,开启并有 8 个级别。
- 包含模式,排除模式
- 哪些文件有效?包含模式以该卡的正确通配符开头。一个连接器读取一种文件类型:包含 CSV 文件的文件夹。 和 Parquet 文件是同一个文件夹中有两个连接器,每种类型一个。
- 跟随符号链接和连接点
- 默认关闭。除非您启用此功能,否则代理程序不会遵循快捷方式或云端占位符。
在可以打开该文件夹的计算机上安装 Query Streams Agent。它需要 Agent 2.6.0 或更高版本。从该 Agent 的 添加连接器 按钮,打开 文件和文件夹 并选择 SQLite文件夹 卡片。
- 根文件夹:代理计算机上要扫描的文件夹,每行一个。网络共享类型为
\\服务器\共享\文件夹不是映射的驱动器号。代理程序以服务形式运行,无法看到您登录时映射的驱动器。 - 包含模式 开始时
**/*.db和**/*.sqlite。 这-wal和-杂志数据库之外的文件永远不会匹配。 - 表格选择要读取的成员表。留空则读取所有成员表。
没有 表名 领域和无 表格布局 选择。表格已命名
data_<成员>注释解释说,所有匹配的文件必须共享一个布局:第一个同步引脚的布局来自一个样本,之后不一致的文件将被搁置并报告。 -
查看它将建造什么
在 查看 代理程序读取最多 64 个文件的样本,并显示它将要构建的内容。目前尚未创建任何内容。按钮显示: 测试连接 在判决结果出来之前, 下一页; 再次测试 更改设置后,程序会重新运行样本。您将看到以下四个标题之一:
- 准备创建
- 每个抽样文件都符合要求。文件下方的芯片显示了可访问的文件夹数量、文件和行数,以及将要存在的表。
- 准备好了,附上笔记
- 部分文件将被搁置,或者布局嗅探将被拒绝。琥珀色横幅会明确指出具体是哪些文件:“{n} 个文件(共 {m} 个)将被搁置”。 找出需要哪些文件以及原因 列表中,“您仍然可以创建它——连接器将不断重新检查并在其清单选项卡上报告原因。”
- 需要关注
- 代理程序离线或缺少文件夹。请先解决此问题再继续;代理程序离线时,页面会显示此提示,但您仍然可以继续操作。
被拒绝或搁置的文件不会阻止您:点击 下一页完成向导后,稍后再修复异常文件。只有代理程序离线或文件夹缺失才会导致向导停止。
在 查看代理程序会从文件夹中读取最多 64 个文件的示例,并显示它将要构建的内容。目前尚未创建任何内容。使用干净的文件夹时,您可以看到 准备创建 以及类似“3 个表:data_events、data_users、data_settings”这样的芯片。此来源最常报告的问题是声明类型不一致:一个文件将某一列存储为 TEXT 类型,而其他文件则将其声明为 REAL 类型。此时,黄色横幅会显示“模式嗅探被拒绝:……”,并列出文件名和列名。在修复或排除该文件之前,不会构建任何数据表。取而代之的是,会显示一个被锁定或损坏的数据库。 找出需要哪些文件以及原因 已预留的文件,其余文件仍可加载。您可以通过两种方式创建连接器;它会不断重新检查并在其页面上报告原因。 显现 标签。
-
选择扫描频率,然后创建它
默认值 设置 适用于每天接收少量文件的文件夹。以下四点您可能需要更改:
- 扫描间隔
- 每小时 默认情况下,扫描频率为每 5 分钟一次,也可选择每天一次。每次扫描都会比较文件大小和修改时间,以查找新增、已更改和已消失的文件。
- 监视文件夹更改(近乎实时)
- 默认关闭。启用后,代理程序会在几秒内响应本地磁盘;对于网络共享,响应速度会尽力而为,计划扫描仍是保证响应速度的手段。 静默期 (15 秒)等待文件写入完成。
- 请刷新页面后再回答查询
- 默认关闭。开启后,如果上次扫描时间早于查询时间,查询将首先重新扫描。 陈旧窗口 (60秒),最多等待 查询等待限制 (5 秒)。这适用于人员和插件,不适用于警报轮询。
- 文件消失时
- 删除它的行 默认情况下,或者 保留行,标记已删除(墓碑标记)。 这 消失的保护比率 (0.5)拒绝一次性丢失一半以上文件的扫描,并保留之前的库存,这就是离线共享的样子。
然后选择 数据领域 检查行数是否计入统计。 审查 并点击 创建连接器首次扫描立即开始。连接器的 显现 该选项卡显示它生成的内容以及它保存的任何文件。
-
看看你的表格
打开连接器: 显现 该选项卡列出了它创建的表格。 查询生成器 同样的桌子摆放在下面
文件集模式。三个第一天就能运行的查询:每个数据库文件的行数SELECT _source_file, COUNT(*) AS row_count FROM fileset.data_events GROUP BY _source_file ORDER BY row_count DESC LIMIT 100
每个 SQLite 文件一行,因此您可以查看每个数据库对合并表的贡献量。
文件夹中现在有哪些数据库文件?SELECT relative_path, size_bytes, modified_utc FROM fileset.files ORDER BY modified_utc DESC LIMIT 100
当前文件账本,按最新更改排序,并显示每个数据库的大小。
文件被搁置或拒绝的原因SELECT relative_path, event_type, detected_by, detail, event_at FROM fileset.files_events WHERE event_type IN ('refused', 'drift') ORDER BY event_at DESC LIMIT 20省略所有行的文件,并详细说明省略原因。
每个文件夹连接器也都服务于相同的记账表,所有这些表都在……
文件集模式:桌子 它包含什么 文件文件夹中当前所有文件的概览:路径、名称、扩展名、大小、创建和修改时间、首次和最后访问时间。 files_current它还会保留已消失的文件。文件事件变更历史记录:每行记录一个文件。 出现, 曾是修改的,消失了被搁置一旁(漂移)或曾是拒绝,随着时间推移事件以及它是如何被注意到的检测到原因在于细节.目录,目录快照,卷文件夹数量和大小、它们的增长方式,以及根目录所在的磁盘或共享文件夹。 源文件,_row_id每行数据包含两列:该行数据来自哪个文件,以及该文件内的一个固定行 ID。按以下方式分组 源文件比较文件。
就是这样。 将新文件放入文件夹,下次扫描后,该文件就会出现在数据库中。这些文件从未离开过它们所在的计算机。
Reaching a file on a network share
The Agent opens files as a background service, not as you, so a file on another computer needs one extra step. Which step depends on the computer the Agent runs on.
If the test cannot get to the share, look for these words in its result: unreachable means the Agent’s computer got no answer from the server. On Linux or a Mac, not mounted means the share still has to be mounted, and that message includes the exact mount command for your server.
Folders on a share? On Windows, one login covers every folder you add from the same server. 监视文件夹的更改 works on a share too, on a best-effort basis; the scheduled scan is what guarantees every change is picked up.
When a folder is not reachable
Every folder on the 文件夹 step shows a status as soon as you add it. Hover the status to read the Agent’s own message; its first words say which case it is.
| Status or message | 它的含义 | 该怎么办 |
|---|---|---|
| denied | The share did not let the Agent in. With no login stored, a Windows Agent reads as its service account, which a company domain sees as the computer itself. | Windows: click Service identity in the folder’s Credential column and store a login that can read the share, or ask whoever runs the server to give the stored one read access. Linux or Mac: the share is mounted, but its permissions keep the Agent out; check how it is mounted (Linux, 苹果). |
| credentials invalid,或 The stored credentials for \\server were refused | The server rejected the stored login: a typo, the wrong domain or a changed password. The Agent waits a minute before it tries that login again, so the account is not locked out. | Click the account name in the Credential column and type the login again. For an account made on the server itself, leave Domain blank. |
| 丢失的 | No folder at that path. On Windows, a server name that cannot be found, or a share the server does not have, also shows as missing. | Check the names, or pick the folder with Add folder from the agent instead of typing it. |
| unreachable,或 \\server did not answer | No answer from the server: it is off, the name is wrong, or a firewall blocks file sharing. | Open the same \\server\share path on the Agent’s computer. If that fails too, it is a network problem. |
| not mounted (Linux or Mac) | The share is not mounted on the Agent’s computer. Hover the status, or the Not mounted chip in the Credential column, for the exact mount command. | Mount the share (Linux, 苹果), then test the folder again. |
| Another connector on this agent already signs in to \\server as … | Windows allows one account per file server on each computer, and another connector on this Agent uses a different one. | Use the same login as that connector, or change it on every connector that reads this server. |
| Windows already holds a sign-in to \\server for … | Something else on the Agent’s computer is signed in to that server with another account, and the Agent never closes a sign-in it did not make. | Follow the message: it names the Windows account the Agent runs as and says whether Use service identity would read the share through the existing sign-in. |
| This agent build cannot sign in to \\server with stored credentials. | An older Agent that cannot use a stored share login. | Update the Agent, then test again. |
到处使用
连接器是查询流中的数据源,与其他数据源类似。只需在查询流中保存一次即可。 查询生成器 (该数据库方言为 DuckDB),并可从以下位置使用它:
Claude、Cursor 和其他人工智能客户端
通过 Query Streams MCP 服务器,Claude 了解文件夹模型,包括 源文件 和 文件事件. 通过 MCP 使用 Claude 管理 SQLite 文件夹.
诺瓦
请用通俗易懂的英语询问商业计划书;Nova 可以根据其内置描述识别每个文件夹、表格和列。
文件夹表也可以连接到您的其他连接器:联合查询可以匹配 源文件 查找文件夹中 SQLite 数据库文件的名称或订单 ID,并将其与同一代理上的数据库进行比对。
新建、更改和删除的文件如何显示
新增和已更改的文件
在每个 扫描间隔 (或在几秒钟内) 监视文件夹 (在)一个符合布局的新文件会被添加行并获得一个 出现 事件。已更改的文件会在一次事务中重新读取:删除旧行,导入新行,并获取一个 修改的 事件。
已删除的文件
默认情况下,消失的文件会删除其所有行;如果您选择了墓碑标记选项,则会保留已删除的行,并获得一个 消失了 事件。如果超过一半的文件一次性消失,扫描将被拒绝,之前的库存清单将保留:离线共享就是这样的。
预留文件
不符合布局、无法打开或超过上限的文件将被整体忽略:其所有行均不会加载。 文件事件 获得 漂移 指定文件和列的名称。修复文件并保存;下次扫描将再次尝试。
我所看到的景象有多新鲜?
查询结果来自上次扫描。没有“重新扫描”或“立即同步”按钮;扫描间隔、文件夹监视器和 请刷新页面后再回答查询 这是三个控制点。 MAX(last_seen_utc) 起 files_current 告诉你代理人上次查看的时间。
被搁置的文件
在“检查”步骤和“清单”选项卡上会出现三个词。它们的含义各不相同:
- 停放在一旁(停放)
- 文件与固定布局不符,或者文件无法读取、撕裂、锁定或超出限制。每个文件要么全部占用,要么全部不占用:已停放的文件不贡献任何行。
文件事件记录漂移行细节指定文件名和列名。如果文件大小和修改时间保持不变,则跳过该文件;一旦文件大小和修改时间发生变化,则立即重试。 - 无法阅读
- 代理程序无法打开或解析该文件,因为它的类型是:不是真正的工作簿,被其他程序锁定,是云端占位符,或是无法解码的字节。它自行停止运行,文件夹的其他部分继续处理。只有当文件夹内没有任何可读文件时,代理程序才会拒绝整个文件夹的处理。
- 拒绝
- 代理程序无法固定任何布局,例如,因为文件对列类型存在冲突。目前尚无数据表。
文件事件获得拒绝与原因争吵细节代理程序会在每次扫描时重试,直到布局固定为止。修复或排除它所指的文件,消息就会消失。
在哪里看:琥珀色的横幅 查看 (找出需要哪些文件以及原因),连接器的 显现 后面跟着制表符。在 SQL 中: SELECT relative_path, event_type, detail FROM fileset.files_events WHERE event_type IN ('drift','refused') ORDER BY event_at DESC.
对于一个通常如下所示的 SQLite 数据库文件文件夹: 如果商店的 pos.db 的 events 表中将 amount 声明为 TEXT,而固定布局中的 amount 声明为 REAL,则该商店的 pos.db 将被搁置,并且其所有行都不会加载;files_events 表将获得一个漂移行,其中包含 detected_by pin 以及一个详细信息,该详细信息指定了不一致的文件、表和列。
值得了解的界限
文件夹数量或文件数量没有计划限制。与其他连接器一样,这些行也会计入您的数据域。您可以提高或降低连接器的默认设置:
| 环境 | 默认 | 它的作用 |
|---|---|---|
| 最大深度 | 8 | 扫描每个根目录下的文件夹层级(1-64)。 |
| 每次扫描最大文件数 | 100,000 | 一次性处理所有文件。 |
| 要哈希的最大文件大小 | 32 MiB | 只与此有关 哈希文件内容 在。 |
| 事件日志保留 | 30天 | 多久 文件事件 保留行。 |
| 每个根的扫描并行度 | 2 | 每个根目录一次读取一个文件夹。 |
内容上限是指文件会被暂存而不是截断:每个文件最多 2,000,000 行或 512 MiB,每次扫描最多 10,000,000 行或 2 GiB。一个文件夹最多可以容纳 25 种不同的布局。 每个布局一张桌子 模式。
人们提出的问题
如何在不使用 ATTACH 的情况下合并两个或多个 SQLite 数据库?
将所有文件放在一个文件夹中,并使用 SQLite 文件夹连接器指向该文件夹。所有文件中同名的表将合并为一个表,例如: 文件集.数据事件, 和 源文件 它会告诉你每一行数据来自哪个数据库。数据不会写回文件,也不会生成合并后的 .db 文件。你需要查询合并后的表。
Query Streams 会锁定或更改我的 SQLite 文件吗?
不。每个文件都是以只读方式打开的,扫描之间不会保持打开状态。 -wal 和 -杂志 数据库之外的文件永远不会被匹配。被其他程序锁定的文件会被暂时搁置,待其大小或修改时间发生变化后再重试。
如果两个文件对同一列声明了不同的类型怎么办?
声明的类型必须在所有文件中保持一致。如果采样文件不一致,代理程序会指定该文件和列,并且不会构建任何表,直到您修复或排除该文件为止。它会在每次同步时重新采样,直到布局固定为止。稍后添加的不符合要求的文件会被单独处理;其他文件仍然会加载,并且 文件事件 指定文件名和列名。
数据库文件必须位于运行代理程序的计算机上吗?
该文件夹必须可从该计算机访问。本地文件夹或网络共享均可。共享名称应为: \\服务器\共享\文件夹 rather than a mapped drive letter, because the Agent runs as a service and cannot see drives mapped at your login. On a Windows Agent, a share that lets in only named people needs a login: click Service identity in the folder’s Credential column and store one for that server. On Linux or a Mac, mount the share first (under /mnt or /media on Linux, under /Volumes on a Mac); stored logins are not used there. Reaching a file on a network share has the steps.
新的或更新的数据库文件多久会显示出来?
下一次扫描后,默认情况下每小时扫描一次。 扫描间隔如果新文件符合预设布局,则会添加新文件的行。更改后的文件会被重新读取整个文件,因此合并后的表中永远不会包含同一文件的两个版本。如果您还希望 Claude 查询这些表,请参阅 使用 MCP 将 SQLite 数据库文件夹连接到 Claude。.
我的文件上传到哪里了吗?
不。代理程序在自己的计算机上读取这些文件,并将读取到的行保存在本地加密缓存中。程序会针对该缓存运行查询,只有查询返回的行才会通过一个出站连接离开计算机。文件不会被修改、移动或转换。
我需要开放端口还是运行 VPN?
不。代理程序会在 443 端口上建立一个出站连接,所有请求和数据行都会通过该连接传输。如果出站 HTTPS 连接正常,那么这种方式也正常。
文件夹可以位于网络共享上,或者位于 OneDrive 或 Dropbox 中吗?
Yes. Type a share as \\服务器\共享\文件夹, because the Agent runs as a service and cannot see drives mapped at your login. On Windows, store a login for the server if the share lets in only named people; without one the Agent reads as its own service account. On Linux or a Mac, mount the share first. A synced OneDrive or Dropbox folder works when its files are stored on the computer: set the folder to 始终将此设备放在身上代理程序不会下载仅存在于云端的文件。
文件夹里有不止一种类型的文件。是一个连接器还是两个?
一个连接器只能读取一种文件类型。包含 CSV 和 Parquet 文件的文件夹,其根目录下会有两个连接器,分别对应两种文件类型。不符合包含模式的文件会被忽略,而不是被单独保留。
是否有重新扫描按钮?
不。代理人扫描了 扫描间隔,对变化做出反应 监视文件夹 已开启,开启后会在回答查询前重新扫描。编辑连接器即可更改这三项设置中的任何一项。
免费套餐真的包含这些吗?
是的。免费版是永久有效的,不是会过期的试用版。文件夹连接器本身没有文件数量限制;行数与其他连接器一样计入您的数据域。请查看各套餐包含的内容。 定价页面.
每份指南 SQLite Folder
这不是你想要的配置?
- 只有一个 SQLite 文件?SQLite 连接器会直接打开该文件,并保留其表名不变 → SQLite
- 只需要文件列表,包括文件大小、日期和更改记录?文件系统无需读取文件即可完成此操作 → File System
Setup trouble?
- Agent says the file or folder does not exist, or access is denied? Mapped drives, network shares, OneDrive and Linux home folders each need one fix → Where the Agent can read files from
- Agent shows Offline, or Test connection and Browse are greyed out? Check that the Agent is online → Is the Agent online?

