РИС. 8.10. Отображение полей таблицы tblEmployee
Создав большое количество сценариев создания и изменения разных объектов базы данных, неплохо объединить их в одной логической группе для одновременного запуска. Именно для этого в Visual Studio .NET предусмотрены командные файлы с расширением .cmd. Они могут использоваться в операционных системах Windows 2000 или Windows XP, которые способны распознать такие файлы. Например, командный файл можно применить для загрузки данных во вновь созданную таблицу, экспортируя данные из уже существующей базы данных.
НА ЗАМЕТКУ
Способность простого и автоматического создания сценария загрузки данных, помимо создания схемы и объектов базы данных, является именно тем компонентом среды Visual Studio .NET, которого нет в программе SQL Server Enterprise Manager.
Итак, попробуем создать один командный файл, чтобы автоматически запустить все сценарии для создания совершенно новой версии базы данных Novelty на другом компьютере. Хотя новая версия базы данных будет иметь собственные данные о клиентах, сотрудниках и заказах, данные о товарах в таблице tblInventory будут одинаковыми. Для этого в новой базе данных нужно наполнить таблицу tblInventory данными о товарах из уже существующей таблицы tblInventory.
Чтобы создать командный файл загрузки данных о товарах из существующей базы данных в новую, необходимо сначала экспортировать данные, а затем продолжить процесс создания командного файла.
1. В окне Server Explorer щелкните правой кнопкой мыши на таблице tblInventory и выберите в контекстном меню команду Export Data (Экспорт данных).
2. В диалоговом окне Browse for Folder выберите предлагаемую по умолчанию папку Create Scripts проекта базы данных и щелкните на кнопке OK.
3. После регистрации в диалоговом окне SQL Server Login будет создан файл dbo.tblInventory.dat.
4. Выберите папку в проекте базы данных для сохранения нового командного файла. В данном примере для этого используется предлагаемая по умолчанию папка Create Scripts.
5. В окне Solution Explorer щелкните правой кнопкой мыши на папке Create Scripts и выберите в контекстном меню команду Create Command File (Создать командный файл). На экране появится диалоговое окно Create Command File (рис. 8.11).
Рис. 8.11. Диалоговое окно Create Command File для базы данных Novelty
6. В списке Available Scripts (Доступные сценарии) в диалоговом окне Create Command File перечислены все сценарии SQL в выбранной папке, которые можно включить в командный файл. В список Scripts to be added to the command file (Сценарии, включаемые в командный файл) можно вставить все или только некоторые сценарии. Для включения всех сценариев щелкните на кнопке Add Аll (Включить все).
7. Поскольку в списке сценариев находится по крайней мере один сценарий экспорта данных с расширением. tab, в диалоговом окне Create Command File станет активной кнопка Add Data (Включить данные).
8. Щелкните на кнопке Add Data, и на экране отобразится одноименное диалоговое окно (рис. 8.12). В этом окне перечислены все выбранные сценарии создания таблиц и соответствующие им файлы данных.
РИС. 8.12. Диалоговое окно Add Data
9. В этом примере автоматически задается соответствие между файлом данных dbo.Inventory.dat и сценарием dbo.Inventory.tab. Для возвращения в диалоговое окно Create Command File щелкните на кнопке OK.
10. После указания сценариев и файлов данных щелкните на кнопке OK для создания командного файла. В результате этого в папке Create Scripts появится файл Create Scripts.cmd, содержимое которого показано в листинге 8.1.
ЛИСТИНГ 8.1. Содержимое командного файла Create Scripts.cmd
@echo off
REM: Command File Created by Microsoft Visual Database Tools
REM: Date Generated: 8/29/2002
REM: Authentication type: Windows NT
REM: Usage: CommandFilename [Server] [Database]
if '%1' == '' goto usage
if '%2' == '' goto usage
if '%1' == '/?' goto usage
if '%1' == '-?' goto usage
if '%1' == '?' goto usage
if '%1' == '/help' goto usage
osql -S %1 -d Master -E -b -i "JACKIE-TECRA.Novelty.DBS"
if %ERRORLEVEL% NEQ 0 goto errors
osql -S %1 -d Master -E -b -i "Novelty.DBS"
if %ERRORLEVEL% NEQ 0 goto errors
osql -S %1 -d %2 -E -b -i "dbo.tblCustomer.tab"
if %ERRORLEVEL% NEQ 0 goto errors
bcp "%2.dbo.tblCustomer" in "dbo.tblCustomer.dat" -S %1 -T -k -n – q
if %ERRORLEVEL% NEQ 0 goto errors
osql -S %1 %2 E -b -i "dbo.tblDepartment.tab"
if %ERRORLEVEL% NEQ 0 goto errors
Читать дальше