Как работает скрипт sql loader?
В настоящее время я работаю с базой данных Exasol впервые и наткнулся на один скрипт, который отвечает за запуск скрипта sql, написанного в файле.sql.
Вот сценарий
C:\Program Files\EXASOL\EXASolution\EXAplus\exaplusx64.exe -configDir EXASolutionConfig -profile profile_PROD_talend -q -f D:/Data/Customer/PROD/EXASolution_SQL/EXASOL_data_script.sql -- databaseName tableName /exasolution/StageArea/fileName.csv
Я хочу знать, как работает этот скрипт и что он делает на самом деле? То, что я понял до сих пор, ниже
Сначала "C:\Program Files\EXASOL\EXASolution\EXAplus\exaplusx64.exe " запускает Exasol в командной строке, а затем указывает на скрипт, в котором находится файл.sql.
Не получая:
1) What this part is doing "-configDir EXASolutionConfig -profile profile_PROD_talend -q -f "?
2) What are these identifiers doing "-q -f "?
3)After launching exaplusx64.exe, Is exasol going to connect with database and table name mentioned in script ? If then How cav file is paying its role in this script ? I mean in .sql there is just an sql statement, If its taking data from file then how ? I'm not getting this ..!!
Пожалуйста, поделитесь своими комментариями
1 ответ
1) Это где вы говорите Exasol, чтобы прочитать профиль profile_PROD_talend
в папке EXASolutionConfig
и выполнить файл D:/Data/Customer/PROD/EXASolution_SQL/EXASOL_data_script.sql
в тихом режиме (-q
).
Из руководства:
-configDir *This is not actually in the EXASOL manual, I assume it's the folder with the profiles, or maybe it does nothing*
-profile Name of connection profile defined in <configDir>/profiles.xml (profiles can be edited in the GUI version). You can use a profile instead of specifying all connection parameters.
-q Quiet mode which suppresses additional output from EXAplus.
-f Name of a text file containing a set of instructions that run and then stop EXAplus.
2) Тихий режим и флаг для имени файла.
3) При запуске этой команды EXAPlus подключается к БД, используя информацию, представленную в профиле, и он выполнит .sql
Файл передан.
Теперь все становится интересным, --
позволяет передать некоторые аргументы .sql
файл. Итак, вы передаете три параметра (databaseName
, tableName
, а также /exasolution/StageArea/fileName.csv
). Если вы откроете сценарий SQL, вы найдете &1
, &2
, а также &3
это заполнители для параметров, переданных вашей командой.
Из руководства еще раз:
-- <args> SQL files can use arguments given over via the parameter “-- ” by evaluating the variables &1, &2 etc. .
For example, the file test.sql including the content
--test.sql
SELECT * FROM &1;
can be called in the following way:
exaplus -f test.sql -- dual