... местами просто удивительно рукожопы. Вот все еще удивительно. Они же, блин, за это деньги берут!!!
Типовая задача - организовать обмен данными между 1Цэ 8+ и собственной рукожопой софтиной. Софтина на МыСы Сыкуель, 1Ца, ессно, тоже - бери и радуйся, создавай пользователя, коннектись к 1Цешной базе и выбирай, что нужно - но нет, мы легких путей не ищем, "не секурно" и ваааще. Будем меняться через ХМЛя-файлы. Ладно, будем - мне не жалко. Вот тя папОчка, клади свою дребедень сюда, отсюда же забирать будешь - ок? Ок, ок.
Стоп. А как забирать? Хмм... а вот есть у нас вот такая аппликуха гуёвая, мы её запустим, и она каженные ... минут будет содержимое папОчки читать и ХМЛи в базу загружать - ок?
Гуевая? Аппликуха? На сервере? Мужики, вы ё..., или как? Ах, на "опытно-промышленную", потом переделаете? Ну ладно...
Опытно-промышленная закончилась. Переделали, конечно - но КАК?! Вместо одной гуевой апликухи сделали другую. Гуевую. Которая, вместо того, чтобы читать содержимое папОчки и писать его в базу, инсталлит СЕРВИС, который это самое содержимое с вкомпиленной (!!!) частотой в базу пишет. Сервис, ага. Нет, я понимаю, что cron'ом винды обижены, но планировщик задач-то там есть! Точно есть, я сам видел!!!
Ладно, хрен с вами - сервис, так сервис, лишь бы работало. Запускаем, кладем в папОчку файло - не-а, не пашет. В логах сиквеля ошибки, не хватает прав. Ну, да, ну да - аутентификация интегрированная, а сервис стартует от имени того, кто эту самую гуевую управлялку сервисом запускал, т.е. локального администратора, ибо из под обычной учетки службу того-этого не поставишь. Гм.
Ладно, меняем пользователя на доменного с правами bulkadmin на сиквеле, кладем файлы... авотхрен.
Ну чего тебе еще надо? Эммм... права sa на базу. Локи, а НАХРЕНА?! Ну, видите ли, наша служба передает имя ХМЛ-файла хранимой процедуре на сервере БД, а единственный (!) способ прочитать данные из хранимки - cmdshell, который доступен - правильно, администратору БД. ...ля! Точно единственный! Точно, точно, мы уж и так, и эдак, и с подвыподвертом, и в МыСы писали - никак-никак.
А если взять и загрузить содержимое файлов во временную таблицу и передать её имя в хранимку?
....
....
....
А давайте вы все же дадите пользователю админские права, а ваш вариант мы как-нибудь потом попробуем...
Ы!тить! Создаем доменного пользователя для загрузки данных. Даем ему права администратора на БД. Делаем его администратором системы. Запускаем гуевенькую утилитку, которая ставит сервис. Отбираем права администратора обратно (Простая смена имени пользователя, от которого стартует служба не прокатила - что-то там у них опять "не той системы") - и все это для того, чтобы загнать пару байт в БД.
А, да - совокупная стоимость решения не два и даже не три миллиона рублей. А-фи-геть.