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

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

Перед тим, як ви почнете...

Досвідчені користувачі можуть побудувати потрібний командний рядок вручну, використовуючи опис нижче. Але якщо ви початківець або просто хочете швидко побудувати командний рядок з базовими можливостями, використовуйте конструктор командних рядків Database Tour. Для генерації командного рядка за допомогою конструктора командних рядків використовуйте меню Інструменти | Генерація командного рядка | Відкриття бази даних.... У вікні Генерація командного рядка вкажіть потрібні опції і клацніть OK. Після цього з'явиться нове вікно зі згенерованим командним рядком. Скопіюйте його, підкоригуйте в разі потреби і використовуйте для викликів Database Tour з ваших власних програм, .bat-файлів і т.д.

Майте на увазі, що конструктор командних рядків не може згенерувати будь-яку командний рядок. Він створює лише базові командні рядки, що є достатнім у більшості випадків і є гарною стартовою точкою для побудови більш складного рядка. Згенерований командний рядок можна легко видозмінити вручну для виконання більш складних задач.

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

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

Приклади

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

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

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

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

Скорочений формат.

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

dbtour.exe [/silent] /ActionFile=ActionFileName

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

</OpenDB>

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

[/silent]

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

[/ActionFile=Value]

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

[/UseParadoxPasswords]

Розділений крапкою з комою список паролів для таблиць 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. Можливі значення: Choose, Unicode, ANSI. Може використовуватися лише разом з параметром /DBInterface=FD.

[/Charset=Value]

Вказує набір символів для баз даних Oracle, PostgreSQL, Informix, MySQL, 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