View Categories

Apps Script JDBC 없이 Google Sheets에서 SQL 실행하기

Google Sheets · Apps Script 없이 SQL 사용하기

실행 SQL ~에 Google 스프레드시트 Apps Script JDBC를 작성하지 않고

Apps Script의 JDBC 서비스는 정상적으로 작동하며, 이 페이지에서는 서비스의 모든 정보(코드, 6분 사용 제한, IP 범위, 스크립트에 포함된 비밀번호)를 투명하게 보여줍니다. 또한, 다른 방식도 소개합니다. 데이터베이스 옆에 설치된 작은 에이전트가 SQL 쿼리를 실행하고, Google Sheets 추가 기능이 해당 쿼리 결과를 스프레드시트로 가져옵니다. JavaScript도 필요 없고, 방화벽 설정도 변경할 필요가 없으며, 무료 플랜으로 이용 가능합니다.

약 15분 SQL만 사용하고 JavaScript는 사용하지 않습니다. 비밀번호는 네트워크에 저장됩니다. MySQL, PostgreSQL, SQL Server 등
진행 과정에서 막히는 부분이 있나요? 언제든지 저희에게 문의하세요. 열려 있는 지원 쿼리 스트림(오른쪽 상단 메뉴 → 지원)에서 메시지를 보내주세요. 담당자가 직접 확인하며, "이 화면에서 무엇을 묻는지 모르겠습니다"라는 질문은 전혀 문제없습니다.

여전히 Apps Script JDBC를 원하신다면, 솔직한 버전을 알려드리겠습니다.

구글의 JDBC 서비스 Apps Script를 MySQL, Google Cloud SQL for MySQL, PostgreSQL, Microsoft SQL Server 및 Oracle에 연결합니다. 스프레드시트 하나를 채우는 가장 간단한 스크립트는 다음과 같습니다.

앱스크립트 · Code.gs
기능 고객 로드() {
  const 소품 = 부동산 서비스.스크립트 속성 가져오기();          // 비밀번호는 코드에 포함하지 마세요
  const 연결 = Jdbc.연결 가져오기('jdbc:mysql://db.example.com:3306/sales'소품.속성을 가져오다('DB_USER'), 소품.속성을 가져오다('DB_PASS'));
  const rs = 연결createStatement().쿼리를 실행합니다('고객 ID, 이름, 도시를 고객 목록에서 1000개로 제한');
  const 행 = [];
  ~하는 동안 (rs.다음()) 행.푸시([rs.getString(1), rs.getString(2), rs.getString(3)]); rs.닫다(); 연결닫다();
  const 시트 = 스프레드시트 앱.활성 스프레드시트 가져오기().getSheetByName('고객'); 시트.클리어컨텐츠(); 시트.범위 가져오기(1, 1, 행 길이, 3).setValues(행); }

이 예제는 MySQL을 사용합니다. 다른 엔진의 경우 연결 문자열만 변경됩니다. jdbc:postgresql://, jdbc:sqlserver:// 그리고 jdbc:oracle:thin:@ 동일한 형태를 따르며 Cloud SQL은 다음과 같은 것을 사용합니다. jdbc:google:mysql://이 작업이 실행되기 전에 데이터베이스가 Google 서버로부터의 연결을 수락해야 합니다. Google은 주소 범위를 다음과 같이 게시합니다. JSON 파일 데이터베이스 방화벽에 추가하고 지속적으로 업데이트해야 하는 설정이며, 데이터베이스는 1025번 이상의 포트에서 수신 대기해야 합니다. 실제로 문제가 되는 제한 사항은 Google의 정책에서 비롯됩니다. 할당량 페이지:

한계개인 Google 계정Google Workspace 계정
스크립트 실행 시간(실행당)6분6분
사용자 정의 함수 런타임(JDBC를 호출하는 수식)30초30초
JDBC 일일 연결 수10,00050,000
사용자별 동시 실행 횟수3030
시간 기반 트리거, 일일 총 실행 시간90분6시간

위 예제에는 두 가지 중요한 사실이 숨겨져 있습니다. 구글 자체 예제에서도 사용자 이름과 비밀번호는 코드에 일반 문자열로 전달되며, 대부분의 스크립트는 이를 그대로 복사합니다. 스크립트 속성을 이용하는 방법은 소스 코드에서 사용자 이름과 비밀번호를 숨기는 것이지만, 스크립트를 편집할 수 있는 사람은 여전히 이를 읽을 수 있습니다. 또한 모든 행은 스크립트의 메모리에 들어가야 하고 6분 안에 처리가 완료되어야 하므로, 쿼리가 느리거나 테이블 크기가 큰 경우에는 작업을 수동으로 분할해야 합니다. 테이블 크기가 작고 데이터베이스에 이미 인터넷에서 접근 가능하며 스크립트 소유자가 한 명뿐이라면 JDBC를 사용하는 것이 적합합니다. 하지만 이 페이지의 나머지 내용은 그렇지 않은 모든 사용자를 위한 것입니다.

대신 얻게 될 결과는 무엇일까요?

구글 시트 로고데이터베이스에 대한 SQL 쿼리 결과를 저장하는 Google Sheets 파일입니다. 쿼리 실행 측면 패널에 있는 버튼을 누르면 원할 때마다 최신 행을 가져올 수 있습니다. 예를 들어 다음과 같습니다.

차이점은 쿼리가 실행되는 위치에 있습니다. JDBC를 사용하는 경우 Google 서버가 사용자의 데이터베이스에 연결을 설정하므로 방화벽에서 연결을 허용해야 하고 스크립트에서 암호를 보관해야 합니다. 반면 Query Streams를 사용하는 경우 Agent라는 작은 프로그램이 데이터베이스에 이미 접근할 수 있는 컴퓨터에서 실행되어 Query Streams로 나가는 연결을 한 번 설정하고 거기서 SQL 쿼리를 실행합니다. Google Sheets 추가 기능은 행을 요청하고 해당 행만 전송됩니다. 방화벽에서 아무것도 열 필요가 없으며 암호는 Agent를 통해 전송됩니다.

데이터베이스가 있는 곳사무실 네트워크 또는 서버실나만의 데이터베이스네트워크에 남아 있습니다.쿼리 스트림 에이전트동일 네트워크에서쿼리 스트림암호화된 링크인터넷을 통해 검색 결과만 표시당신이 어디에 있든모든 브라우저: 노트북, 태블릿, 스마트폰, 크롬북Google 스프레드시트행들이 시트에 도착합니다
에이전트는 사용자의 데이터와 함께 작동합니다. 사용자의 스프레드시트는 Google 클라우드에 저장됩니다. 어디서든 스프레드시트를 열면 행이 표시됩니다.

필요한 것

Query Streams 계정

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

서버에 접속할 수 있는 컴퓨터의 에이전트

백그라운드에서 실행되는 작은 프로그램으로, Google Sheets에서 요청할 때 데이터베이스를 조회합니다. 일반적으로 데이터베이스 서버 자체 또는 동일 네트워크에 연결된 상시 가동 중인 컴퓨터에 저장됩니다.

본인의 연결 정보

서버 이름, 데이터베이스 이름, 그리고 해당 데이터베이스를 읽을 수 있는 사용자 이름과 비밀번호가 필요합니다. 만약 다른 사람이 데이터베이스를 관리한다면, 이 정보는 그 사람에게 문의해야 합니다.

어떤 컴퓨터가 에이전트를 갖게 되나요? 데이터베이스에 이미 접근할 수 있는 항상 켜져 있는 컴퓨터라면 무엇이든 가능합니다. 일반적으로 데이터베이스 서버 자체이거나 동일 네트워크에 있는 컴퓨터가 이에 해당합니다. Google Sheets는 어디에나 있을 수 있습니다.브라우저에서 실행됩니다.

네 단계로 설정하세요

  1. 계정을 만드세요

    가다 my.querystreams.com Sheets에 사용하는 Google 계정으로 가입하세요. 다음을 선택하세요. 무료 계획입니다. 시험판이 아니라 실제 계획이며, 두 개의 연결과 Google Sheets에서 가져온 임시 SQL 쿼리를 포함합니다.

  2. 서버에 접속할 수 있는 컴퓨터에 에이전트를 설치하십시오.

    로그인, 열기 다운로드데이터베이스에 이미 접근할 수 있는 컴퓨터(일반적으로 데이터베이스 서버 자체 또는 동일 네트워크에 연결된 상시 가동 컴퓨터)에 에이전트를 설치하십시오. 설치에는 약 1분 정도 소요되며, 이후에는 자동으로 시작됩니다.

    드라이버 대신 작은 프로그램을 사용하는 이유는 무엇인가요? 에이전트는 Windows, Mac 또는 Linux용으로 한 번만 설치하면 되며(Windows에서는 약 85MB, Mac 및 Linux에서는 100MB 조금 넘는 용량), 백그라운드에서 조용히 실행됩니다. 웹 브라우저와 마찬가지로 쿼리 스트림에 암호화된 연결을 한 번만 생성하므로 방화벽 포트를 열거나 VPN을 설정할 필요가 없습니다. 데이터베이스는 사용자 네트워크에 유지되며, 필요한 경우 인터넷을 통해 행 데이터가 사용자의 위치로 전송됩니다. 사용자가 해야 할 일은 추가 기능 설치뿐입니다.

    다운로드 페이지가 표시됩니다 액세스 키에이전트가 요청할 때 해당 코드를 붙여넣고 배지가 인식될 때까지 기다리세요. 쿼리 스트림에 연결됨에이전트 자체에서 할 수 있는 일은 그게 전부입니다.

    자세한 공략이 필요하시면 보여드리겠습니다. 윈도우, 스코틀랜드 사람, 리눅스.

  3. 데이터베이스 연결을 추가하세요

    포털이 열려 있습니다 데이터 → 데이터 에이전트클릭 커넥터 추가 에이전트에서 데이터베이스 유형을 선택하고 호스트, 포트, 데이터베이스 및 읽기 전용 로그인 정보를 입력합니다. 클릭하세요. 테스트 연결, 그 다음에 저장연결은 몇 초 내에 에이전트에 도달합니다. 각 데이터베이스에는 정확한 필드가 포함된 고유한 안내 절차가 있습니다. MySQL, PostgreSQL, SQL Server, OracleCloud SQL, Amazon RDS 및 Azure 데이터베이스는 동일한 방식으로 연결됩니다. 에이전트가 해당 데이터베이스에 접근할 수만 있으면 됩니다.

    IP 허용 목록이 없습니다. 에이전트는 네트워크 내부에서 데이터베이스에 연결하고 HTTPS를 통해 외부로 쿼리 스트림에 연결합니다. 방화벽에 추가해야 할 Google 주소 목록도 없고, 동기화해야 할 사항도 없습니다.

  4. Google Sheets에서 SQL을 실행합니다

    스프레드시트를 열고 Query Streams 추가 기능을 설치하세요. 아직 설치하지 않았다면 Google Workspace Marketplace에서 설치하세요. 이미 로그인되어 있는 Google 계정을 자동으로 인식하므로 별도의 로그인이 필요하지 않습니다. 측면 패널에서 클릭하세요. 쿼리 스트리머연결 방식을 선택하고 스크립트에 넣었을 SELECT 문을 그대로 붙여넣으세요.

    예시 · SQL
    선택 고객 ID, 이름, 도시
    FROM 고객
    주문하다 에 의해 이름
    LIMIT 1000;

    아래 탭을 선택하세요 목적지 정보 클릭하고 클릭하세요 쿼리 실행행은 열 머리글 아래에 배치됩니다. 클릭하세요. 쿼리 실행 최신 데이터를 원할 때마다 다시 새로 고침하세요. 시트가 자동으로 새로 고쳐지도록 하려면 쿼리 빌더에서 쿼리를 저장하고 설정을 구성하세요. 자동화이 프로그램은 5분 간격부터 매주 간격까지 다양한 일정으로 실행됩니다.

그게 다예요. 데이터는 스프레드시트에 저장되어 있으며 한 번의 클릭으로 최신 상태를 유지할 수 있습니다. 요청하신 행 외에는 네트워크를 통해 전송된 데이터가 없습니다.

나란히 놓으면, 오직 버텨주는 것만이

앱스크립트 JDBC쿼리 스트림
당신이 쓰는 것SQL을 JavaScript로 감싸는 코드SQL
쿼리가 실행되는 위치구글 서버에서 데이터베이스에 연결하는 방법에이전트에서 데이터베이스 옆에 있습니다.
데이터베이스 비밀번호스크립트 또는 해당 속성에서 편집 권한이 있는 사람은 누구나 읽을 수 있습니다.에이전트에서만 표시되고, 스프레드시트 사용자는 볼 수 없습니다.
방화벽Google에서 공개한 주소 범위와 1025번 포트 이상을 허용하세요.수신되는 데이터가 없습니다. 에이전트는 HTTPS를 통해 외부로 연결합니다.
시간 제한실행당 6분, 사용자 지정 함수는 30초 소요스크립트 시간 초과가 없습니다. 에이전트가 쿼리를 실행하고 행을 스트리밍합니다.
할당량하루 10,000개 또는 50,000개의 JDBC 연결, 90분 또는 6시간의 트리거 시간요금제별 월 데이터 허용량은 무료 요금제의 경우 5MB부터 시작합니다.
동료에게 데이터를 제공하는 것스크립트와 자격 증명을 함께 복사하세요.쿼리 결과를 공유하세요. 수신자는 해당 쿼리를 실행하지만 로그인 정보는 절대 볼 수 없습니다.
일정을 새로 고치세요일일 실행 시간 할당량 내 시간 기반 트리거자동화, 5분 간격부터 주 단위까지
데이터베이스MySQL, 클라우드 SQL, 포스트그레스 SQL, SQL 서버, 오라클이 다섯 가지 외에도 MariaDB, Snowflake, BigQuery, SQLite, Access, DuckDB, 파일 폴더, 그리고 Stripe, HubSpot, Shopify와 같은 API들이 있습니다.

계획이 허용하는 것

Google Sheets 추가 기능의 임시 SQL 쿼리는 무료 플랜을 포함한 모든 플랜에서 사용할 수 있습니다. 무료 플랜에는 두 개의 연결과 월 5MB의 데이터 사용량이 포함되어 있어 위 표와 같은 테이블을 하루에 여러 번 새로 고치는 데 충분합니다. 추가 기능의 쿼리 작성기에 저장한 쿼리를 실행하는 기능은 Personal Core 플랜부터 제공되며, 동료가 공유한 쿼리는 모든 플랜에서 실행할 수 있습니다. 가격 페이지를 참조하세요. 계획별 수당에 대해서.

무료는 한 번 시작하면 계속 사용할 수 있는 플랜입니다. 체험 기간은 만료되지 않습니다. 자세한 내용은 다음에서 확인하세요. 가격 페이지.

사람들이 묻는 질문

기존 Apps Script는 그대로 두고 비밀번호 문제만 해결할 수 있을까요?

네. 위 예시처럼 사용자 이름과 암호를 스크립트 속성으로 옮기고 데이터베이스 로그인에 읽기 전용 권한을 부여하세요. 이렇게 하면 가장 심각한 문제는 해결됩니다. 하지만 6분 접속 제한, 일일 연결 할당량, 방화벽 허용 목록은 변경되지 않으므로, 여러 사람이 사용하는 스프레드시트의 경우 대부분의 사용자가 Apps Script에서 쿼리를 분리하는 것입니다.

에이전트는 데이터베이스 서버에서 실행되어야 합니까?

아니요. 데이터베이스에 접속할 수 있는 상시 가동 컴퓨터라면 무엇이든 가능합니다. 사무실 워크스테이션, 소형 가상 머신, 또는 서버 자체도 가능합니다. 단, 쿼리 스트림을 사용하려면 외부로 나가는 HTTPS 연결만 있으면 됩니다.

JDBC의 메모리 제한처럼 행 수 제한이 있나요?

에이전트는 전체 결과를 스크립트에 저장하는 대신 행 단위로 데이터를 스트리밍하므로, 실제적인 제한은 사용 중인 요금제의 데이터 허용량과 Google Sheets 자체의 제한(스프레드시트 셀 최대 2천만 개, Google의 2026년 9월 출시가 아직 적용되지 않은 계정의 경우 1천만 개)에 따라 달라집니다. 필요한 열과 날짜 범위만 선택하여 SELECT 문을 사용하면 두 가지 모두 문제없이 사용할 수 있습니다.

저는 클라우드 SQL을 사용합니다. 그게 뭔가 달라지는 점이 있나요?

에이전트가 실행되는 위치에만 설치하면 됩니다. 에이전트 주소가 승인된 공용 IP 주소를 통해 클라우드 SQL 인스턴스에 접속할 수 있는 컴퓨터 또는 가상 머신에 에이전트를 설치하거나, 동일 네트워크 내에 설치하고 MySQL, PostgreSQL 또는 SQL Server로 연결하세요. Google IP 주소 범위를 관리할 필요가 없습니다.

제가 Sheets를 사용하는 컴퓨터에 사용자 데이터베이스가 반드시 있어야 하나요?

아니요. 에이전트만 데이터베이스가 있는 위치에 있으면 됩니다. Google Sheets는 모든 기기의 브라우저에서 실행됩니다. 동일한 Google 계정으로 추가 기능을 열면 연결이 자동으로 이루어집니다.

내 데이터가 쿼리 스트림으로 복사되나요?

아니요. 에이전트는 데이터가 있는 위치에서 쿼리를 실행하고 반환된 행만 전송합니다. 그 과정에서 어떤 것도 동기화되거나 저장되지 않습니다.

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

네. 무료 플랜은 만료되는 체험판이 아니라, 계속 사용하실 수 있는 플랜입니다. 자세한 내용은 해당 페이지에서 확인하세요. 가격 페이지.

시트가 자동으로 새로 고쳐지나요?

최신 행을 보려면 언제든지 '쿼리 실행'을 다시 클릭하세요. 사용자가 아무 버튼도 누르지 않고도 정기적으로 시트가 새로 고쳐지도록 하려면 쿼리 스트림 포털(스트림 → 자동화)에서 자동화를 설정하세요. 이 기능은 모든 요금제에서 사용할 수 있습니다.

아직도 막히셨나요? 열려 있는 지원 쿼리 스트림에서 현재 단계와 표시되는 내용을 알려주시면 연결해 드리겠습니다.
Query Streams는 동일한 데이터를 다음과 연결합니다.Excel클로드, 커서 및 ChatGPTREST API그리고 더 많은 것들

Setup trouble?

  • Agent shows Offline, or Test connection and Browse are greyed out? Check that the Agent is online → Is the Agent online?
Updated on 2026년 9월 27일

Powered by BetterDocs