Цей розділ описує параметри командного рядка Database Tour, специфічні для відкриття баз даних та виконання деяких додаткових задач в них. Цей тип командного рядка може використовуватися лише в Database Tour Pro.

Загальні правила написання командних рядків описано тут.

Побудова командного рядка в кілька кліків

Використання

Опції командного рядка та їх опис

Приклади

Побудова командного рядка в кілька кліків

Досвідчені користувачі можуть побудувати потрібну командний рядок вручну, використовуючи специфікацію нижче.

Але якщо ви початківець або хочете швидко побудувати командний рядок без занурення в деталі, використовуйте конструктор командних рядків Database Tour.

Використання

Класичний формат командного рядка

Командний рядок складається з усіх потрібних параметрів:

dbtour.exe /Parameter1 /Parameter2 /... /ParameterN

Скорочений формат командного рядка

Цей формат більш гнучкий, оскільки дозволяє тримати всі параметри в окремому файлі операцій. Командний рядок складається з параметра /ActionFile (що вказує шлях до файла операцій) та необов'язкового параметра /silent:

dbtour.exe [/silent] /ActionFile=ActionFileName

Параметри командного рядка та їх опис

/OpenDB

Вказує програмі на необхідність відкрити певну базу даних і (опціонально) виконати деякі дії в ній. Обов'язковий параметр для цього типу командного рядка.

/silent

Цей ключ запускає програму в так званому "тихому" режимі, без будь-яких вікон. При використанні опції /ActionFile ключ /silent повинен бути поза файлом параметрів. Database Tour повертає код виходу 0 в разу успішного відпрацювання, 1 в разі некоректного командного рядка і 2 у випадку помилок виконання. Увага! В цьому режимі немає запиту підтвердження на перезапис існуючих файлів та інших попереджень.

/ActionFile=Value

Вказує ім'я файла операцій, який включає параметри командного рядка (один параметр на рядок). Рядки, що починаються на крапку з комою, вважаються коментарем і ігноруються програмою. Допускаються пусті рядки. При використанні цього параметру в командному рядку не повинно бути інших параметрів, окрім ключа /silent. Якщо назва файлу містить пробіли, весь параметр повинен братися в лапки. Див. приклад 10.

/UseParadoxPasswords=Value

Розділений крапкою з комою список паролів для таблиць Paradox (якщо планується виконувати дії з захищеними паролем таблицями Paradox). Може використовуватися лише разом з параметром /DBInterface=BDE.

/DB=Value

Вказує назву бази даних, яку потрібно відкрити. Це може бути назва файлу, назва теки, назва джерела даних ODBC, назва аліасу BDE або рядок підключення ADO. Якщо назва містить пробіли, весь параметр повинен братися в лапки. Якщо назва бази є рядком підключення ADO з лапками всередині, потрібно використовувати скорочений формат командного рядка.

/DBInterface=Value

Вказує інтерфейс для роботи з базами даних (движок баз даних), що буде використовуватися для відкриття бази даних. Можливі значення: ADO, FD, INTERBASE, BDE. Значення по замовчанню: ADO.

/DBKind=Value

Вказує вид бази даних. Можливі значення: FOLDER, FILE, DSN, CONSTR; останній варіант можна використовувати лише для підключень ADO. Якщо не вказано, програма спробує визначити це автоматично.

Замість використання цього параметра можливо використовувати префікс, що вказує тип бази даних (файл, тека, DSN, рядок підключення), в параметрі /DB. Префікс повинен братися в квадратні дужки <>. Можливі значення: <FILE>, <FOLDER>, <DSN>, <CONSTR>. Рекомендується брати весь параметр в лапки у таких випадках. Див. приклад 9.

/DBDriver=Value

Вказує драйвер (тип) бази даних. Приклади можливих значень: ACCESS, DBASE, INTERBASE, FIREBIRD, ORACLE, SQL SERVER і т.д. Якщо не вказано, програма спробує визначити це автоматично. Якщо назва драйвера містить пробіли, весь параметр повинен братися в лапки.

/DBUserName=Value

Вказує ім'я користувача бази даних. Якщо ім'я користувача містить пробіли, весь параметр повинен братися в лапки.

/DBPassword=Value

Вказує пароль бази даних. Якщо пароль містить пробіли, весь параметр повинен братися в лапки.

/Server=Value

Вказує адресу сервера для баз даних типу DB2, SQL Server, Advantage, Informix, Interbase, Firebird, MySQL, PostgreSQL, SQL Anywhere. Може використовуватися лише разом з параметром /DBInterface=FD.

/Port=Value

Вказує порт TCP/IP, який слухає сервер DB2, Advantage, PostgreSQL, MySQL, Interbase або Firebird. Може використовуватися лише разом з параметром /DBInterface=FD.

/Protocol=Value

Вказує протокол, що використовується для з'єднання з базою даних типу DB2, Firebird або Interbase. Може використовуватися лише разом з параметром /DBInterface=FD.

/OSAuthentication

Вказує програмі використовувати аутентифікацію ОС замість аутентифікації бази даних. Може використовуватися лише разом з параметром /DBInterface=FD.

/AutenticationMode=Value

Вказує режим аутентифікації для бази даних Oracle. Можливі значення: Normal, SysDBA, SysOper і т.д. Більше інформації шукайте в документації Oracle. Може використовуватися лише разом з параметром /DBInterface=FD.

/VendorLibrary=Value

Шлях до клієнтської бібліотеки постачальника бази даних. Може використовуватися лише разом з параметром /DBInterface=FD.

/VendorHomepath=Value

Шлях до клієнтської домашньої директорії постачальника бази даних. Може використовуватися лише разом з параметром /DBInterface=FD.

/SystemDB=Value

Вказує шлях до файлу системної бази даних для баз даних Access. Може використовуватися лише разом з параметром /DBInterface=FD.

/StringFormat=Value

Вказує формат рядків для баз даних Access або SQLite. Можливі значення: Choose, Unicode, ANSI. Може використовуватися лише разом з параметром /DBInterface=FD.

/Charset=Value

Вказує набір символів для баз даних Oracle, PostgreSQL, Informix, MySQL, Interbase, Firebird. Приклад: UTF8. Може використовуватися лише разом з параметром /DBInterface=FD.

/SharedCache=Value

Вказує, чи використовувати спільний кеш для баз даних SQLite. Можливі значення: False, True. Може використовуватися лише разом з параметром /DBInterface=FD.

/BlockingMode=Value

Вказує режим блокування для баз даних SQLite. Можливі значення: Exclusive, Normal. Може використовуватися лише разом з параметром /DBInterface=FD.

/ReadOnly

Вказує програмі відкрити базу даних Access в режимі тільки читання. Може використовуватися лише разом з параметром /DBInterface=FD.

/TableName=Value

Вказує ім'я таблиці для відкриття. Якщо цей параметр опущено, а база даних є файлом, програма спробує його витягти з /DB. Цей параметр не повинен використовуватися з ключем /silent. Якщо ім'я містить пробіли, весь параметр повинен братися в лапки.

/SQLFile=Value

Вказує ім'я файла, з якого потрібно завантажити текст SQL. Файл може містити багато виразів SQL; в такому разі різні вирази повинні бути розділені за допомогою /SQLStatementSeparator. Запит SQL з файлу буде виконаний лише якщо вказано ключ /ExecuteQuery. Цей параметр не повинен використовуватися з ключем /silent. Якщо ім'я файла містить пробіли, весь параметр повинен братися в лапки.

/ExecuteQuery

Вказує програмі на необхідність виконання виразу (виразів) SQL з файлу, вказаного параметром /SQLFile.

/PrimaryDataset=Value

Якщо в командній строчці присутні одночасно параметри /TableName та /SQLFile, програма відкриє дві сторінки (закладки): одну для таблиці, іншу для запита. Даний ключ вказує програмі, яка з закладок повинна бути активною. Можливі значення: Table, Query.

/SQLStatementSeparator=SQLStatementSeparator

Вказує розділювач (термінатор) виразів SQL для випадків, коли /SQLFile містить більше, ніж один вираз SQL. Це може бути будь-який символ або код символу з префіксом #. Є також наперед визначені розділювачі:
sqlplus, зазвичай використовується утилітою Oracle SQL Plus та іншими Oracle-орієнтованими інструментами та утилітами; це похила риска (/) на окремому рядку між двома виразами;
mssqlgo, зазвичай використовується інструментами SQL Server; це слово GO на окремому рядку між двома виразами.
Значення по замовчанню: крапка з комою (;).

/SQLParamNames=Value

Може використовуватися у випадках, коли /SQLFile містить параметризований(і) запит(и) SQL. Текст SQL параметризованого запиту містить параметри для динамічної підстановки; кожен параметр починається з двокрапки, наприклад, :ITEMID, :PAYDATE і т.д. Обробка параметрів здійснюється на рівні движка бази даних або на рівні бази даних (для серверних баз даних). Використовуйте цей параметр для вказання списку імен параметрів SQL, які повинні бути автоматично замінені перед виконанням запиту. Цей список має складатися з імен параметрів (двокрапка тут повинна бути опущена), розділених комбінацією символів %#%. Якщо параметр містить пробіли, він повинен братися в лапки. Цей параметр повинен використовуватися разом з параметрами /SQLParamValues та /SQLParamTypes. Див. приклади.

/SQLParamValues=Value

Список значень параметрів SQL, розділених комбінацією символів %#%. Кількість елементів у списку та їх позиції повинні співпадати з параметром /SQLParamNames. Для передачі значення null value потрібно писати NULL (у верхньому регістрі). Якщо параметр містить пробіли, він повинен братися в лапки.

/SQLParamTypes=Value

Список типів параметрів SQL, розділених комбінацією символів %#%. Кількість елементів у списку та їх позиції повинні співпадати з параметром /SQLParamNames. Допустимі типи: Boolean, Currency, Date, DateTime, Float, Integer, SmallInt, String, Time, Word. Параметр не повинен містити пробілів.

/SQLMacroNames=Value

Може використовуватися у випадках, коли /SQLFile містить запит(и) SQL з макросами. Текст SQL таких запитів містить макроси для динамічної підстановки; кожен макрос починається з << і закінчується на >>, наприклад, <<ITEMID>>, <<PAYDATE>> і т.д.; на відміну від параметрів, макрос не має типу і завжди вставляється як текст. Використовуйте цей параметр для вказання списку імен макросів, які повинні бути автоматично замінені перед виконанням запиту. Цей список повинен містити список імен макросів (розділювачі << та >> тут повинні бути опущені; імена макросів мають складатися лише з букв та цифр), розділених комбінацією символів %#%. Макроси обробляються перед обробкою параметрів SQL, тому можна використовувати макроси всередині параметрів SQL. Якщо параметр містить пробіли, він повинен братися в лапки. Цей параметр повинен використовуватися разом з параметром /SQLMacroValues. Див. приклади.

/SQLMacroValues=Value

Список значень макросів SQL, розділених комбінацією символів %#%. Кількість елементів у списку та їх позиції повинні співпадати з параметром /SQLMacroNames. Якщо параметр містить пробіли, він повинен братися в лапки.

/ReportVarNames=Value

Список глобальних змінних звіту, чиї початкові значення повинні бути перезаписані. Якщо в списку більше одного елемента, то їх потрібно розділяти комбінацією символів %#%. Якщо параметр містить пробіли, він повинен братися в лапки. Цей параметр повинен використовуватися разом з ключем /ReportPreview.

/ReportVarValues=Value

Список початкових значень для глобальних змінних звіту. Якщо в списку більше одного елемента, то їх потрібно розділяти комбінацією символів %#%. Кількість елементів у списку та їх позиції повинні співпадати з параметром /ReportVarNames. Якщо параметр містить пробіли, він повинен братися в лапки.

/CloseWhenDone

Вказує програмі автоматично закритися після успішного виконання. Ця опція ігнорується в "тихому" режимі, коли програма автоматично закривається в будь-якому разі.

/CloseOnError

Вказує програмі автоматично закритися у випадку помилок виконання. Ця опція ігнорується в "тихому" режимі, коли програма автоматично закривається в будь-якому разі.

/minimize

Програма запускається в мінімізованому вікні. Вікно відновлюється до нормального стану у випадку помилки або після закінчення виконання (якщо опція /CloseWhenDone не використовується). Ця опція ігнорується в "тихому" режимі, коли програма працює без жодних вікон.

/LogFile=Value

Вказує ім'я файла для запису журналу операцій. Якщо ім'я файла містить пробіли, весь параметр повинен братися в лапки.

/AppendLog

Вказує, що журнал операцій повинен записуватися в кінець файла із збереженням попереднього вмісту файла. Якщо цей ключ опущено, існуючий журнал операцій буде повністю перезаписано.

/ColDefsFile=Value

Вказує ім'я файла з налаштуваннями колонок. Налаштування колонок будуть застосовані лише до закладки з активним набором даних (див. опис /PrimaryDataset). Якщо ім'я файла містить пробіли, весь параметр повинен братися в лапки.

/ReportTemplateFile=Value

Вказує ім'я файла з шаблоном звіту. В цьому контексті визначення бази даних і набору даних з шаблону звіту будуть проігноровані, а шаблон звіту буде застосовано до відкритого активного набору даних (див. опис /PrimaryDataset). Якщо ім'я файла містить пробіли, весь параметр повинен братися в лапки.

/NoReportBuilder

Вказує програмі не відкривати конструктор звітів після завантаження /ReportTemplateFile (пол замовчанню конструктор звітів відкривається при завантаженні шаблона звіту).

/ReportPreview

Вказує програмі відкрити попередній перегляд звіту після завантаження /ReportTemplateFile.

Приклади

1. Відкриття бази даних Microsoft Access і завантаження текста SQL з файлу
dbtour.exe /opendb "/DB=c:\my db\stores.mdb" "/SQLFile=c:\my db\TodaysPayments.sql"

2. Відкриття бази даних DBF на основі фізичної теки і відкриття таблиці в ній
dbtour.exe /opendb /DBInterface=ADO /DBDriver=dBase /DBKind=FOLDER "/DB=c:\MyData" "/TableName=customer.dbf"

3. Відкриття бази даних Oracle на основі джерела даних ODBC, завантаження скрипта SQL і відкриття таблиці з цієї бази
dbtour.exe /opendb /DBInterface=ADO /DBDriver=Oracle /DBKind=DSN "/DB=MyOraDSN" "/TableName=myschema.address_data" /SQLFile=d:\MyScripts\CopyData.sql /PrimaryDataset=Table

4. Відкриття бази даних Oracle на основі строчки підключення, виконання в ній скрипта SQL і закриття по закінченню
dbtour.exe /opendb /DBInterface=ADO /DBDriver=Oracle /DBKind=CONSTR "/DB=Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=myUsername;Password=myPassword;" /DBUserName=JohnM /DBPassword=qazwsx78 /SQLFile=d:\MyScripts\CopyData.sql /ExecuteQuery /CloseWhenDone

5. Відкриття бази даних Interbase, виконання в ній скрипта SQL і закриття по закінченню
dbtour.exe /opendb /DBInterface=INTERBASE /DBDriver=INTERBASE /DBKind=FILE "/DB=MyServerName:D:\CommonData\News.gdb" /DBUserName=JohnM /DBPassword=qazwsx78 /SQLFile=d:\MyScripts\CheckData.sql /ExecuteQuery /CloseWhenDone

6. Відкриття бази даних Interbase через ADO, відкриття запиту SQL в ній і завантаження шаблона звіту
dbtour.exe /opendb /DBInterface=ADO /DBDriver=INTERBASE /DBKind=FILE "/DB=MyServerName:D:\CommonData\News.gdb" /DBUserName=JohnM /DBPassword=qazwsx78 /SQLFile=d:\MyScripts\LastIncome.sql /ExecuteQuery /ReportTemplateFile=d:\MyReports\LastIncome.dtt

7. Відкриття таблиці Paradox і завантаження визначень колонок для неї
dbtour.exe /opendb /DBInterface=BDE /DBDriver=Paradox /DBKind=FOLDER "/DB=c:\MyData" "/TableName=orders.db" "/ColDefsFile=c:\MyData\orders.dcl

8. Відкриття бази даних MySQL на основі строчки підключення
dbtour.exe /opendb /DBInterface=ADO /DBDriver=MySQL /DBKind=CONSTR "/DBUserName=StacyO" "/DB=Provider=MySQLProv;Data Source=mydb;User Id=myUsername;Password=myPassword;"

9. Відкриття бази даних Oracle на основі джерела даних ODBC, завантаження і виконання скрипта SQL в ній і закриття по закінченню. У випадку помилки програма закривається. Журнал виконання зберігається в файл. Все повинно робитися в тихому режимі.
dbtour.exe /silent /opendb /DBInterface=ADO /DBDriver=Oracle "/DB=<DSN>MyOraDSN" /DBUserName=Bohdan2000 /DBPassword=tobein2010 /SQLFile=d:\MyScripts\UpdateProducts.sql /ExecuteQuery /SQLParamNames=PDate%#%PProdCategory%#%PProdChannel /SQLParamTypes=Date%#%Integer%#%String /SQLParamValues=2014-02-02%#%12%#%Direct /CloseWhenDone /CloseOnError /LogFile=d:\out\logs\UpdateProducts.log

10. Те саме, що і в попередньому, але з використанням файлу операцій
dbtour.exe /silent "/ActionFile=c:\DBTourStartParameters.txt"

Вміст файлу c:\DBTourStartParameters.txt повинен бути приблизно таким:

;main action
/opendb

;db definition
/SrcDBInterface=ADO
/DBDriver=Oracle
/DB=<DSN>MyOraDSN
/DBUserName=Bohdan2000
/DBPassword=tobein2010

;actions
/SQLFile=d:\MyScripts\UpdateProducts.sql
/ExecuteQuery
/SQLParamNames=PDate%#%PProdCategory%#%PProdChannel
/SQLParamTypes=Date%#%Integer%#%String
/SQLParamValues=2014-02-02%#%12%#%Direct

;options
/CloseWhenDone
/CloseOnError
/LogFile=d:\out\logs\UpdateProducts.log