Имеется база MSSQL2005. Ии дельфи (через ADO) создаю бэкап для дальнейшего использования следующим образом:
BACKUP DATABASE [MyDB] TO DISK = N'C:\Users\User\AppData\Local\Temp\data.bak' WITH INIT, SKIP, NAME = N'MyBackup'
На что получаю ошибку прав доступа к C:\Users\User\AppData\Local\Temp (systemerror 5)
С папками, к которым прописаны полные права доступа для всех проблем не возникает. Специфика такова, что требовать от пользователя создать папку с нужными правами я не могу.
А теперь, собственно, вопрос. Как программно получить путь к папке или создать папку к которой бы имели бы права доступа и мое приложение и MSSQL?
Здравствуйте, yajohn71, Вы писали:
Y>Имеется база MSSQL2005. Ии дельфи (через ADO) создаю бэкап для дальнейшего использования следующим образом:
Y>Y>BACKUP DATABASE [MyDB] TO DISK = N'C:\Users\User\AppData\Local\Temp\data.bak' WITH INIT, SKIP, NAME = N'MyBackup'
Y>
Y>На что получаю ошибку прав доступа к C:\Users\User\AppData\Local\Temp (systemerror 5)
Y>С папками, к которым прописаны полные права доступа для всех проблем не возникает. Специфика такова, что требовать от пользователя создать папку с нужными правами я не могу.
Y>А теперь, собственно, вопрос. Как программно получить путь к папке или создать папку к которой бы имели бы права доступа и мое приложение и MSSQL?
А зачем вашему приложению права на доступ к этой папке?
Здравствуйте, yajohn71, Вы писали:
Y>Имеется база MSSQL2005. Ии дельфи (через ADO) создаю бэкап для дальнейшего использования следующим образом:
Y>Y>BACKUP DATABASE [MyDB] TO DISK = N'C:\Users\User\AppData\Local\Temp\data.bak' WITH INIT, SKIP, NAME = N'MyBackup'
Y>
Y>На что получаю ошибку прав доступа к C:\Users\User\AppData\Local\Temp (systemerror 5)
Y>С папками, к которым прописаны полные права доступа для всех проблем не возникает. Специфика такова, что требовать от пользователя создать папку с нужными правами я не могу.
Y>А теперь, собственно, вопрос. Как программно получить путь к папке или создать папку к которой бы имели бы права доступа и мое приложение и MSSQL?
Вы можете создать папку обычным путём через Directory.CreateDirectory выдав права доступа для того, кого надо.
А надо — для пользователя, под которым запущено ваше приложение и для позьзователя, под которым крутится MSSQL.
Ну или everyone/full control.
Получить доступ к готовой папке, если его нет, вы можете только будучи админом или имперсонировавшить в того, у кого есть права доступа.
Здравствуйте, yajohn71, Вы писали:
BE>>А зачем вашему приложению права на доступ к этой папке?
Y>Чтобы упаковать образ БД в архив и мылом отправить разработчику (то бишь мне) для анализа. Я понимаю что звучит несколько странно, но таковы требования заказчика.
А кто мешает сделать бэкап базы средствами самого сервера и его же средствами отправить созданный бэкап почтой? И даже упаковать его можно перед отправкой, если разрешить на сервере xp_cmdshell.
... << RSDN@Home 1.2.0 alpha 5 rev. 43>>