View Categories

SQLite를 Anvil.works에 예약된 시간에 동기화합니다.

자동화 · SQLite에서 Anvil.works로

유지하다 앤빌웍스 SQLite 파일과 동기화하여, 일정에 따라

SQL 쿼리는 한 번만 작성하면 됩니다. Query Streams는 사용자가 설정한 일정(5분 간격부터 매주까지)에 따라 쿼리를 실행하고 결과를 Anvil.works 데이터 테이블에 기록합니다. 키를 기준으로 행을 일치시켜 수정 사항을 반영하고 쿼리에서 제외된 행은 삭제하거나, 단순히 추가할 수도 있습니다. Zapier, 스크립트, 내보내기 과정이 필요 없습니다. 처음 설정하는 데 약 15분 정도 소요되며, 무료 플랜으로 이용 가능합니다.

약 15분 코딩이 필요 없습니다 파일은 제자리에 그대로 있습니다. 5분마다 또는 매주
진행 과정에서 막히는 부분이 있나요? 언제든지 저희에게 문의하세요. 열려 있는 지원 쿼리 스트림(오른쪽 상단 메뉴 → 지원)에서 메시지를 보내주세요. 담당자가 직접 확인하며, "이 화면에서 무엇을 묻는지 모르겠습니다"라는 질문은 전혀 문제없습니다.

당신이 최종적으로 얻게 될 것

SQLite 로고Anvil.works 데이터 테이블은 SQLite 쿼리가 반환하는 행을 저장하며, 매 실행마다 변경 사항에 대한 기록과 함께 5분에서 1주일 간격으로 정기적으로 업데이트됩니다. 예를 들어 다음과 같습니다.

SQLite holds your data in a file. Your team works in Anvil.works. The usual bridge is a hand-written import in your app that breaks quietly and copies one row at a time. Query Streams Automation does it differently: the Agent that already reads your SQLite file runs your saved SQL on a schedule and writes the whole result into Anvil.works in one pass, matching rows by a key so the data table stays correct rather than growing.

파일이 있는 위치사무실 컴퓨터, 서버, 또는 집에 있는 컴퓨터SQLite 파일sales.db · 여기에 남아 있습니다쿼리 스트림 에이전트저장된 쿼리를 실행합니다당신의 일정에 맞춰쿼리 스트림암호화된 링크행만 작성됨 · 우리가 다시 읽어보지 않음팀이 근무하는 곳Anvil 앱 내부앤빌웍스데이터 테이블이 제자리에서 업데이트됩니다.
에이전트는 사용자의 데이터와 함께 작동하며 예약된 시간에 쿼리를 실행합니다. Anvil.works는 단순히 행을 수신하기만 하면 됩니다. 누구도 별도의 작업을 수행할 필요가 없습니다.

필요한 것

Query Streams 계정

이 가이드를 이용하시려면 무료 플랜으로도 충분합니다. 지금 가입하세요. my.querystreams.com.

에이전트를 통해 연결된 SQLite

The Agent installed on the computer that holds your SQLite file, or on one that reads it from a network share, with the connection added in Data Agents. Not done yet? 먼저 SQLite에 연결하세요.약 10분 정도 걸립니다.

저장된 쿼리

동기화를 유지하려는 SELECT는 다음 위치에 저장됩니다. 쿼리 빌더아래 1단계에서 그 예를 볼 수 있습니다. 변경된 행을 제자리에서 업데이트하려면 행별로 고유한 열(예: ID)을 추가하세요.

Anvil.works 로그인

Anvil 앱의 HTTPS 주소와 querystreams 모듈의 connector.init_connector("key")를 사용하여 앱에서 설정한 커넥터 키를 입력하세요. Query Streams는 앱의 응답을 확인하고 데이터 테이블 목록을 표시합니다.

작업은 어디에서 이루어지나요? 에이전트가 실행되는 컴퓨터에서 쿼리가 예약된 시간에 실행되고 Anvil.works에 행이 기록되므로 해당 컴퓨터는 항상 켜져 있어야 합니다. 브라우저는 닫아도 됩니다. Query Streams 자체는 행을 저장하지 않습니다.

File on another computer? The Agent does not have to run on the computer that holds your SQLite file: it can read the file from a network share. Reaching a file on a network share, below, shows what that takes.

6단계로 설정하세요

  1. 동기화할 쿼리를 저장하세요.

    열려 있는 쿼리 빌더SQLite 연결 방식을 선택하세요 (아직 연결하지 않으셨나요?). 여기서 시작하세요그리고 Anvil.works에서 원하는 행과 열을 정확하게 반환하는 SELECT 문을 작성하세요. 이 문은 몇 개의 열을 가져옵니다. 고객 테이블:

    예시 · SQL
    SELECT customer_id, name, city FROM customers ORDER BY name LIMIT 100;

    그런 다음 실행하세요. 저장 "Anvil.works 주문"처럼 알아보기 쉬운 이름으로 저장하세요. SELECT 문에서 행별로 고유한 열을 유지하세요. customer_id이것이 바로 Full Sync가 행을 제자리에서 업데이트하는 데 사용하는 핵심입니다. 나중에 쿼리를 편집하고 다시 저장하면 자동화 기능이 다음 실행 시 변경 사항을 반영합니다.

  2. 자동화 도구를 열고 Anvil.works를 선택하세요.

    포털에서 열기 자동화 (상단 메뉴) 스트림 → 예약됨 → 자동화) 그리고 클릭하세요 새로운 자동화마법사는 다섯 가지 간단한 단계를 거칩니다. 1단계 클릭하세요 앤빌웍스 카드.

    "Before You Begin"을 보시는 건가요? 마법사는 에이전트가 온라인 상태이고 연결이 되어 있으며 저장된 쿼리가 하나 이상 있는 경우에만 열립니다. 해당 페이지에는 세 가지 쿼리 중 어떤 것이 누락되었는지 표시되고 해당 쿼리로 연결되는 링크가 제공됩니다.

  3. Anvil.works에 연결하세요

    ~에 2단계 이 페이지는 Anvil 측 단계를 안내합니다. 앱에 Query Streams 종속성 코드를 추가하세요. 설정 → 종속성 → 타사서버 모듈을 생성합니다. 쿼리스트림에서 커넥터를 가져옵니다. 그리고 connector.init_connector("키를 입력하세요")그리고 클릭하세요 보안 키 생성 그 키를 만들려면, 그런 다음 입력하세요. 앤빌 앱 URL 그리고 동일한 커넥터 인증 키 클릭하고 클릭하세요 연결 테스트앱에는 다음이 필요합니다. 가속 테이블 (설정 → 데이터 테이블)에서 활성화되어 있어야 하며, 페이지에서 자동으로 다시 확인해 줍니다.

  4. 행이 배치될 위치를 선택하세요

    ~에 3단계 선택하세요 데이터 테이블 행들이 제대로 추가될 것입니다. 빈 테이블을 원하시면 Anvil 앱에서 먼저 생성하세요. 이미 행이 있는 경우 미리보기에서 행들을 확인하고 각 동기화 모드가 행에 어떤 영향을 미치는지 설명해 줍니다. 테이블당 하나의 자동화만 사용 가능합니다.

  5. 쿼리를 선택하고 행이 어떻게 저장될지 결정하세요.

    ~에 4단계 열어보세요 저장된 쿼리 1단계에서 선택한 쿼리를 목록에서 선택합니다. Query Streams는 해당 쿼리를 한 번 실행하여 열을 읽고, 반환되는 행 수를 알려주며, 두 가지 선택 사항을 표시합니다.

    추가 · 빠르게

    추가

    매 실행마다 쿼리의 행이 데이터 테이블 맨 아래에 추가됩니다. 아무것도 업데이트되거나 삭제되지 않으므로 로그, 이벤트 및 기록을 축적하려는 경우 빠르게 사용할 수 있습니다. 키 열도 필요하지 않습니다. 변경되지 않은 행은 다시 추가되지 않으며, 값이 변경된 행은 기존 행을 유지하고 새 행으로 아래에 추가됩니다.

    완전 동기화 · 미러

    전체 동기화

    행은 다음과 같이 일치합니다. 열쇠 주문 ID와 같은 열을 사용합니다. 새 행은 추가되고, 변경된 행은 제자리에서 업데이트되며, 쿼리에서 더 이상 반환되지 않는 행은 제거됩니다. 여기에는 사용자가 직접 데이터 테이블에 입력한 행도 포함되므로, 수동으로 입력한 행은 다른 데이터 테이블에 보관해야 합니다. 이 방식은 재고, 파이프라인, 마스터 데이터 및 대시보드에 적합합니다.

    전체 동기화는 열별로 설정되므로 공유 데이터 테이블에서 유용하게 사용할 수 있습니다.

    열쇠
    예를 들어 행을 식별하는 열 주문 ID쿼리 결과에서 해당 항목은 고유해야 합니다. Query Streams는 이를 자동으로 확인하고 중복을 거부합니다.
    동기화
    실행할 때마다 SQLite에서 덮어쓰기됩니다. Anvil.works에서 동기화 열을 수정하면 다음 실행 시 원본 값이 다시 저장됩니다.
    보존하다
    해당 행이 처음 도착할 때 기록되고 이후에는 비교되지 않으므로 SQLite에서 해당 열이 변경되더라도 업데이트가 트리거되지 않습니다. 팀에서 수동으로 입력하는 메모, 담당자 및 후속 날짜의 경우 쿼리에 전혀 포함되지 않는 열을 사용하세요. Anvil.works에만 존재하는 열은 동기화 과정에서 절대 변경되지 않습니다.

    어느 쪽이 더 빠릅니까? 추가(Append) 방식은 데이터 테이블을 먼저 읽지 않고 데이터를 기록합니다. 전체 동기화(Full Sync) 방식은 데이터 테이블을 읽고 모든 행을 비교한 후 차이점만 기록하므로 시간이 더 오래 걸리지만 데이터 테이블이 항상 쿼리와 일치합니다. 자동화의 편집 패널에서 나중에 이 방식을 전환할 수 있습니다.

    신뢰할 수 있는 데이터 테이블을 보려면 클릭하세요. 모든 열을 동기화로 생성그런 다음 열쇠 아이콘을 클릭합니다. customer_id 그것을 만들기 위해 열쇠Query Streams는 전체 결과를 스캔하여 키가 고유한지 확인하고 고유하지 않은 경우 경고를 표시합니다. 쿼리에 포함되지 않은 열에는 팀의 자체 메모를 기록하세요. 이러한 열은 절대 변경되지 않습니다. 로그가 계속해서 증가하기만 하도록 하려면 여기를 클릭하세요. 모든 열을 보존으로 생성합니다. 대신 키를 건너뛰고 클릭하세요. 계속하다.

  6. 일정을 설정하고, 이름을 지정하고, 생성하세요.

    ~에 5단계 선택하다 정해진 일정에 따라 실행하세요 그리고 선택하세요 빈도:

    빈도실행
    5분마다5분마다, 허용되는 가장 빠른 시간
    15분마다15분마다
    30분마다30분마다
    매시간매 정각에
    매일 오전 9시매일 오전 9시, 기본 설정
    매일 오전 6시매일 6시
    평일 오전 9시월요일부터 금요일까지 오전 9시
    주간 (월요일 오전 9시)매주 월요일 오전 9시
    맞춤 일정본인이 직접 정한 분, 시간, 요일 또는 날짜를 입력하세요.

    시간은 다음을 따른다 시간대 사용자가 선택하는 방식은 브라우저에서 시작하는 방식입니다. 또는 다른 방식을 선택할 수도 있습니다. 수동 전용 그리고 누르세요 실행 원하는 시간에 실행할 수 있으며, 자동화의 편집 패널에서 나중에 일정을 추가할 수도 있습니다. 예약된 실행은 에이전트에서 이루어지므로 브라우저가 닫혀 있어도 계속 실행됩니다. 에이전트가 실행 중인 컴퓨터가 실행 예정 시간에 꺼져 있는 경우, 누락된 실행은 에이전트가 다시 시작된 직후에 한 번 실행됩니다.

    그것을 통합 이름예를 들어 "Anvil.works에 매일 주문"과 같은 항목을 확인하려면 다음을 참조하십시오. 제작 준비 완료 요약 및 클릭 자동화 생성자동화 페이지로 돌아가서 누르세요. 실행 예약된 시간을 기다리지 말고 지금 바로 첫 번째 동기화를 수행하세요. Anvil.works를 열면 열 헤더 아래에 행이 표시됩니다.

그게 다예요. 이제부터 데이터 테이블은 자동으로 최신 상태를 유지합니다. 쿼리가 반환한 행 외에는 네트워크를 통해 아무것도 전송되지 않으며, 누구도 별도로 실행해야 할 작업을 기억할 필요가 없습니다.

그 후에 당신이 보게 될 것

그만큼 자동화 페이지 모든 자동화의 상태, 소스, 대상, 키, 일정, 마지막 동기화 및 행 수를 나열합니다. 원하는 자동화를 선택하여 열어보세요. 처형 탭: 각 실행과 해당 실행의 트리거(수동 또는 예약), 실행 시간, 생성, 업데이트, 삭제 및 변경되지 않은 행 수를 표시합니다. 성능 해당 탭에는 7일에서 90일 동안 처리된 데이터와 성공률이 표시됩니다.

멈추면 알려줍니다.

모든 조직에는 다음과 같은 것들이 있습니다. 동기화 문제 처음부터 알림 규칙을 설정하세요. 동기화가 실패하면 앱 내 알림과 이메일을 보내고, 동기화가 복구되면 다시 한 번 알림을 보냅니다. 각 실패 건당 하나의 메시지만 보내고, 재시도할 때마다 메시지를 보내지 않습니다. 스트림 → 알림 및 보고서에서 이 기능을 끄거나 채널을 변경할 수 있습니다.

필요할 때 스스로 멈춥니다.

Anvil.works에서 연결을 수락하지 않거나 데이터 커넥터가 삭제되면 자동화가 일시 중지되고 그 이유가 표시됩니다. 다시 연결하거나 새 소스를 선택한 다음 '재개'를 누르십시오. 다른 오류가 발생하면 일정은 계속 진행되며 해당 행에 표시됩니다.

키는 고유해야 합니다.

전체 동기화를 실행하기 전에 Query Streams는 쿼리 결과의 키 값이 고유한지 확인하고, 고유하지 않으면 실행을 거부합니다. 따라서 불완전하게 작성된 데이터가 데이터 테이블에 저장되는 것을 방지할 수 있습니다. Anvil에서 키 열을 그대로 유지하세요. 쿼리에서 알 수 없는 열은 동기화 과정에서 삭제되지 않습니다.

계획이 허용하는 것

자동화 기능은 무료 플랜을 포함한 모든 플랜에서 제공되며, 자동화 생성 개수에는 제한이 없습니다. 다만, 각 플랜마다 쿼리 실행 시 반환할 수 있는 행 수에 제한이 있습니다.

계획실행당 행 수
무료125
개인적 핵심500
퍼스널 플러스1,000
비즈니스 코어2,500
비즈니스 플러스5,000
비즈니스 맥스10,000
엔터프라이즈 코어25,000
엔터프라이즈 플러스100,000
엔터프라이즈 맥스250,000

쿼리 결과가 예상보다 많을 경우, 실행이 중단되는 대신 일시 중지되며, 자동화 기능은 적합한 실행 계획을 알려주거나 날짜 범위와 같은 필터를 추가하는 것을 제안합니다. 성공적인 실행은 모두 Excel 및 Sheets 쿼리에서 사용하는 Data Realm 할당량에 포함됩니다. 가격 페이지를 참조하세요. 수당에 대해서요.

좋은 다음 행보입니다

  • 필터를 추가하세요 쿼리에 '지난 90일'과 같은 기간을 지정하여 데이터 테이블의 크기를 줄이고 속도를 높이며 실행 계획의 행 제한을 준수하도록 합니다.
  • 손으로 타이핑한 메모는 별도의 열에 보관하세요.쿼리 외부에 있으므로 모든 동기화에서 유지됩니다.
  • 자동화 기능을 그룹화하세요 몇 가지 항목이 생기면 편집 패널에서 자동화 페이지를 그룹별로 필터링할 수 있습니다.

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.

윈도우

Type the network path, like \\서버\공유\폴더, never a mapped drive letter such as 에스:, which the Agent cannot see. If the share only lets in named people, click Service identity (the chip under the path) and store a login for that server: a company domain account, or an account made on the server itself with Domain left blank. The Agent then signs in to that server and reads the file there, and every connector on that Agent that reads the same server must use the same login. Without a login, it reads as its own service account, which a company domain sees as the computer itself. Step by step on Windows

리눅스

Share logins stored in the Portal are not used on Linux: an administrator mounts the share on the Agent’s computer first, in a folder under /mnt 또는 /메디아, because the Agent’s service cannot see /home 또는 /run/user. In the connector, keep the \\서버\공유 path, which the Agent maps onto the mount, or type the mount path instead, such as /mnt/fileserver-shared/Accounts. How to mount a share on Linux

스코틀랜드 사람

Share logins stored in the Portal are not used on a Mac: mount the share first from Terminal with 슈도, in a folder under /Volumes, so the Agent’s background service can see it. In the connector, keep the \\서버\공유 path, which the Agent maps onto the mount, or type the mount path instead, such as /Volumes/fileserver-shared/Accounts. How to mount a share on a Mac

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.

SQLite file on a share? 떠나다 Read-Only (Immutable) ticked, as it is by default; reads then take a point-in-time view of the file without locks. SQLite cannot use its WAL mode over a network, so with that box unticked a WAL-mode database on a \\서버\공유 path is refused, and the test says it is a WAL-mode SQLite database.

Test failed on a share?

Every run reaches the file the same way the connection test does. If runs start failing after something changed on the file server, a new password for example, open the connector in 데이터 에이전트 클릭하고 클릭하세요 테스트 연결. The test result, and the line under the file path, name the problem:

메시지원인고치다
SQLite database file not found: followed by a \\서버\공유 path you know is rightNo login is stored, so the Agent tried the share as its own account and could not see the file: the share turned that account away, or the server did not answer. In the first case the line under the path says Access denied for the agent’s service account.클릭 Service identity under the path and store a login that can read the share. If the line under the path does not say access denied, check that the Agent’s computer can open the share at all.
Share \\server: access denied — add credentials for this serverA login is stored, but that account has no permission on the share, or another sign-in to the same server is in the way; the message before this line says which.Ask whoever runs the server to give that account read access, or store an account that has it. For a sign-in in the way, see the two rows on one login per server below.
Share \\server: the credentials were refused — check the username and passwordThe server turned the stored login down: a typo, the wrong domain, or a password changed since it was saved, which also stops runs that used to work.Click the chip under the path and type the password again; for an account made on the server itself, leave Domain blank. After a refused login the Agent waits a minute before it tries that same one again, so the account is not locked out; saving a corrected password tries straight away.
Share \\server: server unreachable from the agent machineThe Agent’s computer got no answer from the server: a wrong server name, the server is off, or a firewall blocks file sharing.On the Agent’s computer, open the same \\서버\공유 path in File Explorer. If that fails too, it is a network problem for whoever runs the network.
Another connector on this agent already signs in to \\server as …Windows lets one computer sign in to a server as one account at a time, and another connector on this Agent uses a different login for that server.Store the same login the other connector uses, or change it on every connector that reads that server.
Windows already holds a sign-in to \\server for …Something on the Agent’s computer other than the Agent is already signed in to that server as a different account, and the Agent never closes a sign-in it did not make.Do what the rest of the message says: use that same account on this connector, or close the other sign-in on the Agent’s computer. If it says the share is already readable through that sign-in, choose Use service identity in the login box instead.
This agent build cannot sign in to \\server with stored credentials.The Agent is an older version that cannot use stored logins.Update the Agent, then test again.
\\server\share is not mounted on this Linux agent (또는 macOS agent)The Agent runs on Linux or a Mac and the share has not been mounted on its computer yet; logins stored in the Portal are not used there.Mount it with the command the message gives you, then test again. Step by step: 리눅스에서 · on a Mac.
… is a WAL-mode SQLite databaseThe database uses SQLite’s WAL mode, which cannot work over a network share, and Read-Only (Immutable) is unticked on the connector.Tick Read-Only (Immutable) on the connector and test again.

사람들이 묻는 질문

동기화 시 우리 팀이 Anvil.works에 추가한 메모가 덮어쓰여지나요?

메모가 별도의 열에 있는 경우에는 그렇지 않습니다. Anvil.works에만 존재하고 쿼리에는 없는 열은 절대 변경되지 않으므로 동기화된 열 옆에 메모 또는 소유자 열을 추가하고 거기에 입력하세요. 표시된 열 동기화 매 실행마다 SQLite 값으로 되돌려집니다. 보존하다 행이 처음 도착할 때 열이 채워지고 이후에는 비교되지 않습니다.

SQLite 데이터가 쿼리 스트림에 저장되나요?

아니요. 에이전트가 사용자 측에서 쿼리를 실행하고 암호화된 링크를 통해 Anvil.works로 행을 직접 전송합니다. 쿼리 스트림은 구성, 일정 및 실행당 행 수를 관리하며, 행 자체는 관리하지 않습니다.

내 컴퓨터는 계속 켜져 있어야 하나요?

에이전트를 실행하는 컴퓨터가 해당 쿼리를 실행하고 Anvil.works에 기록합니다. 사용자의 노트북과 브라우저는 닫아도 됩니다. 실행 예정 시간에 해당 컴퓨터가 꺼져 있으면, 에이전트가 다시 시작된 직후에 한 번 실행이 누락될 수 있습니다.

나중에 쿼리를 변경할 수 있나요?

예. 쿼리 빌더에서 편집하고 저장하면 다음 실행 시 새 버전이 자동으로 적용됩니다. 열을 추가하거나 제거한 경우 자동화의 편집 패널을 열어 매핑하세요.

두 개의 자동화 프로그램이 동일한 데이터 테이블에 데이터를 쓸 수 있습니까?

아니요, 데이터 테이블당 하나의 자동화만 허용됩니다. 두 번째 자동화는 다른 데이터 테이블을 대상으로 하거나, 첫 번째 자동화에 사용된 쿼리를 확장해야 합니다.

무료 플랜으로 이 모든 기능을 이용할 수 있나요?

네. 무료 플랜은 만료되는 체험판이 아니라 계속 사용할 수 있는 플랜입니다. 자동화 기능은 모든 플랜에 포함되어 있으며, 플랜별로 달라지는 점은 쿼리 실행 시 반환할 수 있는 행의 개수입니다. 무료 플랜에 포함된 자세한 내용은 다음 링크에서 확인하세요. 가격 페이지.

아직도 막히셨나요? 열려 있는 지원 쿼리 스트림에서 현재 단계와 표시되는 내용을 알려주시면 연결해 드리겠습니다.
저장된 동일한 쿼리도 동기화 상태를 유지할 수 있습니다.Google 스프레드시트에어테이블스마트 시트BaserowSeaTable그리고 더 많은 것들

모든 가이드 SQLite

원하는 설정이 아닌가요?

  • SQLite 파일이 하나가 아니라 여러 개 폴더에 있나요? SQLite Folder는 이름이 같은 테이블들을 하나의 테이블로 병합하고 각 행에 해당 행이 속한 파일 이름을 태그로 지정합니다. SQLite Folder

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?
Updated on 10월 12, 2026

Powered by BetterDocs