Параметры выполнения

Параметры выполнения

/?

Используйте эту опцию для отображения расширенной справки по командной строке.

Пример:

gsqlcmd /?

Также можно использовать режим help для получения полной справки.

/append

Эта опция позволяет добавить выходные данные в существующий выходной файл.

Пример:

gsqlcmd convert input\AAPL.CSV data.csv /append

Для обработки набора входных файлов укажите один выходной файл без параметра /append:

gsqlcmd convert input\*.CSV data.csv

/check

Используйте эту опцию для проверки кодов ответов веб-сервера в режиме download.

Создайте файл urls.txt со списком URL для проверки:

http://www.savetodb.com/
https://www.gsqlcmd.com/
https://www.gsqlcmd.com/test

Запустите команду:

gsqlcmd download @urls.txt /check

Вы получите следующий результат:

http://www.savetodb.com/ 301 https://www.gsqlcmd.com/
https://www.gsqlcmd.com/ 200
https://www.gsqlcmd.com/test 404

/formatFile=<format file>

Эта опция заменяет имена исходных столбцов именами из файла форматирования.

Вы можете создавать такие файлы, используя режим make-fmt.

/fromFiles=<mask>

Используйте эту опцию для обновления записей базы данных с содержимым файла.

Пример:

gsqlcmd exec website.com "UPDATE contents SET content = @text WHERE alias = @filename" /fromFiles=*.htm

В этом примере website.com — это именованная строка подключения к базе данных веб-сайта.

Параметры @filename и @text представляют имя файла без расширения и его содержимое соответственно.

Для MySQL, PostgreSQL, Oracle и Snowflake используйте имена параметров :filename и :text вместо @filename и @text.

Эту функцию можно комбинировать с опцией /toFiles, которая позволяет экспортировать записи в отдельные файлы:

gsqlcmd exec website.com "SELECT alias, content FROM contents" alias.htm /toFiles

Эти две опции позволяют экспортировать и импортировать содержимое CMS-систем для редактирования в автономном режиме с помощью любого текстового редактора.

/limit=<number of rows>

Эта опция ограничивает количество выходных строк.

Пример:

gsqlcmd select db dbo.cashbook /limit=10
gsqlcmd select cashbook.csv /limit=10

Используйте /limit=1 для создания одной команды для каждого файла в режимах make и import.

Пример командного файла для вставки содержимого файла в таблицу загрузок:

set template=INSERT INTO downloads (filename, contents) VALUES (@filename, @content)

gsqlcmd import db *.json "/table=%template%" /set=filename=FileName();contents=FileText() /limit=1

Без опции /limit gsqlcmd импортирует все строки из проанализированного входного файла.

Целевые объекты и SQL-шаблоны могут получать значения из проанализированного файла или вычисляться с помощью функций, таких как FileName() или FileText().

Например, таблица загрузок имеет поля имени файла и содержимого, поэтому команду можно упростить:

gsqlcmd import db *.json /table=downloads /set=filename=FileName();contents=FileText() /limit=1

/[location=]local | user | app

Эта опция указывает расположение файла конфигурации gsqlcmd.exe.config.

Опция local определяет файл конфигурации в текущем каталоге (значение по умолчанию).

Именованные подключения из таких файлов доступны только в текущем каталоге.

Параметр user указывает файл конфигурации в каталоге %LocalAppData%\Gartle\gsqlcmd, доступный только текущему пользователю.

Параметр app указывает файл конфигурации в папке установки gsqlcmd, доступный для всех пользователей на данном компьютере.

/offset=<number of rows>

Эта опция пропускает указанное количество строк в выводе.

Пример:

gsqlcmd select cashbook.csv /offset=10 /limit=10

Первая строка имеет смещение 0.

/options=<file>

Используйте эту опцию для указания файла с параметрами командной строки.

Пример:

/options=options.json /options=options.txt

Можно использовать несколько файлов в формате JSON или текстовом формате.

Пример секретного файла клиента Google в формате JSON:

{"installed":{
    "client_id":"123456789012-abcdefghijklmnopqrstuvwxyz123456.apps.googleusercontent.com",
    "project_id":"searchconsoleapi-123456",
    "auth_uri":"https://accounts.google.com/o/oauth2/auth",
    "token_uri":"https://oauth2.googleapis.com/token",
    "auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs",
    "client_secret":"Abcdefghijklmnopqrstuvwx",
    "redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]
}}

Эквивалент в текстовом формате:

client_id=123456789012-abcdefghijklmnopqrstuvwxyz123456.apps.googleusercontent.com
project_id=searchconsoleapi-123456
auth_uri=https://accounts.google.com/o/oauth2/auth
token_uri=https://oauth2.googleapis.com/token
auth_provider_x509_cert_url=https://www.googleapis.com/oauth2/v1/certs
client_secret=Abcdefghijklmnopqrstuvwx
redirect_uris=urn:ietf:wg:oauth:2.0:oob
redirect_uris=http://localhost

Обратите внимание, что параметры с подчеркиванием эквивалентны параметрам без подчеркивания.

Например, client_id и clientId равнозначны.

В текстовом формате можно добавлять комментарии, начиная с символа #:

# Комментарий

/[serverType=]mssql | mysql | oracle | pgsql | snowflake | sqlite | foxpro | dbf | excel | csv

Эта опция определяет целевую платформу базы данных для генерации кода.

Используйте ее, если не указали именованное подключение в качестве позиционного параметра.

Пример:

gsqlcmd make-create data.csv create.sql /table=dbo.payments /mssql

Также используйте эту опцию для фильтрации подключений и провайдеров в режимах show-connections и show-providers.

Примеры:

gsqlcmd show-connections /oracle
gsqlcmd show-providers /mysql

/set=<parameter>=<value | function>[;...]

Эта опция определяет значения параметров и значения для столбцов, отсутствующих в исходных файлах.

Пример:

gsqlcmd make db AAPL.csv AAPL.sql /table=dbo.prices /insert /set=Symbol=AAPL;LoadDate=FileDateTime(AAPL.CSV)

В этом примере используется значение AAPL для столбца Symbol и время файла AAPL.CSV для столбца LoadDate.

См. список функций, доступных с опцией /set.

Формы объявления параметров:

  • @Parameter для Microsoft SQL Server и SQLite;
  • :Параметр для MySQL, MariaDB, PostgreSQL, Oracle Database и Snowflake;
  • {Parameter} в веб-адресах.

Не используйте параметр /set со сценариями, содержащими объявления параметров в SQL-коде, например, для создания хранимых процедур и триггеров.

gsqlcmd определяет типы параметров на основе фактических типов значений, таких как строки, числа или даты.

Используйте одинарные кавычки для строгого определения значений строкового типа, например, /set=p1='123'.

/taskFile=<file name>

Файлы задач позволяют задавать наборы входных и выходных параметров и опций.

Вы можете указать файл задачи как позиционный параметр в некоторых режимах или с помощью этой опции.

Пример пакетного файла с использованием файлов задач:

@echo off

set url="https://www.nasdaq.com/symbol/{symbol}/dividend-history"

gsqlcmd download %url% src\{symbol}.htm /taskfile=symbols.txt /echoOutputFileName

@pause

В этом примере и URL, и имя выходного файла содержат параметр {symbol}.

Вы можете указать список значений для этого параметра в файле задачи symbols.txt:

Symbol
AAPL
FB
MSFT

gsqlcmd выполнит указанную команду для каждой строки, заменяя параметр {symbol} соответствующим значением.

Значения из файла задачи также можно использовать в опциях /set и /add:

/set=Symbol={Symbol} /add=Symbol={Symbol}

Опция /set задает значение параметра скрипта, а опция /add добавляет выходной столбец с указанным значением.

Пример командного файла с двумя параметрами:

@echo off

set url="https://www.msn.com/en-us/finance/stocks/optionsajax/{symbol}/?date={date}"

gsqlcmd download %url% src\{symbol}-{date}.JSON /taskfile=symbols.txt /echoUrl

@pause

Вы можете задать значения для двух параметров в отдельных столбцах:

Symbol  Date
AAPL    20200117
AAPL    20200619

Также можно использовать формат CSV.

В любом случае вы можете легко обновлять файлы задач из базы данных с помощью команд SELECT.

gsqlcmd Enterprise позволяет получать значения задач из базы данных, используя форму <connection>::<query>.

Пример:

@echo off

set url="https://www.nasdaq.com/symbol/{symbol}/dividend-history"

gsqlcmd download %url% src\{symbol}.htm "/taskfile=db::SELECT Symbol FROM dbo.symbols" /echoOutputFileName

@pause

/toFiles

Эта опция экспортирует данные базы данных в отдельные файлы.

Пример:

gsqlcmd website.com "SELECT alias, content FROM contents" alias.htm /toFiles /outputCodepage=65001

В этом примере website.com — это именованная строка подключения к базе данных веб-сайта.

Команда экспортирует значения поля content в файлы, названные в соответствии со значениями поля alias (замените alias.htm на имя вашего поля).

Выходные данные SQL-запроса должны содержать ровно два поля, используемых в качестве имени файла и содержимого файла.

Таким образом, вы можете редактировать содержимое экспортированных файлов с помощью любого текстового редактора.

Затем обновите базу данных содержимым файлов с помощью следующей команды:

gsqlcmd exec website.com "UPDATE contents SET content = @text WHERE alias = @filename" /fromFiles=*.htm

См. подробности в описании опции /fromFiles.

Этот веб-сайт использует куки. Продолжая использовать веб-сайт, Вы принимаете условия Политики защиты персональных данных.