| Aleksey 的个人资料Automatisation of our sy...日志列表网络 | 帮助 |
|
|
2008/10/16 Powershell and MS SQL 2005 нет ничего прощеTah blog Tags: Powershell, MS SQL 2005 Как по мне, то Powershell очень удобен для обработки различного рода информации, возможность работы с csv и xml файлами, а также представление всевозможных данных в виде обьектов - выгодно отличает его от WSH с такими весьма популярными скриптовыми языками программирования как VBScript и JScript. Но для менявся красота в какой-то момент потерялась при работе с большими обьемами данных, невероятные задержки при необходимости многократного поиска различных данных в файлах или сведение данных из двух файлов по какому-либо признаку, натолкнуло на мысль, что а было бы хорошо использовать для этих целей уже существующие решения, как SQL запросы и базы данных :-) Не изобретая колеса, было решено использовать MS SQL 2005 сервер под свои нужды и скажу, что я удивился тому удобству что я получил в итоге. Рассмотрим пример, у нас есть две таблички CREATE TABLE [dbo].[computers]( Где-то в скрипте получая данные о компьютерах в сети(задача выдуманная на ходу(не вините, что не брал список компов с AD ;-)) необходимо заполнить эти таблицы, с одним условием, что одинаковые записи об одном и том-же компьютере в таблицу computers попадать не будут.
Для начала опишем функцию которая будет осуществлять подключение к MSSQL серверу, получив через параметрыстроку соединния(connection string), а также SQL запрос который необходимо исполнить. #connection string function sqlquery ([string]$constr,$query) { Так как тип возвращаемых данных для INSERT запроса отличается от остальных, пришлось идти на небольшое ухищерение и в зависимости от того, найдена ли строка с INSERT'ом внутри запроса или нет - выдавать различного типа результат. $computer = "ada1" $query =@" if ($result -eq $null) { (В данном примере все возможные домены уже находятся в табличке domains) Пример я считаю достаточно исчерпывающий, ну а теперь - пользуемся :-) |
|
|