Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
xpsql.c: Error 1314 from LogonUser on line 476
|
|||
|---|---|---|---|
|
#18+
Мне необходимо средствами SQL-сервера сделать выборку из некоторого .dbf-файла, но он может быть занят другим пользователем. Не так давно учасниками данного форума был предложен текст программы на Делфи, которая проверяет файл на "занятость" другим пользователем. Я немного реорганизовала данную программу и вызываю ее из пользовательского приложения через SP при помощи процедуры xp_cmdshell Вот текст SP CREATE PROCEDURE Prov_na_Zanyatost @Path_File varchar(100) AS DECLARE @REZ varchar(1) SET @Path_File = 'D:\MSSQL7\DTS\SostFile.exe ' + @Path_File exec @REZ = master..xp_cmdshell @Path_File, no_output select "return" = @rez Здесь @Path_File - путь к .dbf-файлу; SostFile.exe - программа проверяющая состояние .dbf-файла Процедура возвращает таблицу (других значений мое приложение не воспринимает) содержащую одно поле и одну строку: 0 - файл свободен, 1 - занят При обращении к данной процедуре от имени SA - все проходит нормально Любой другой пользователь получает сообщение: Msg50001, Level1, State 50001 xpsql.c: Error 1314 from LogonUser on line 476 далее следует таблица - результат выполнения процедуры, содержащая не зависимо от состояния .dbf-файла всегда 1 Что бы это значило? Как решить такую проблему? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2001, 14:35 |
|
||
|
xpsql.c: Error 1314 from LogonUser on line 476
|
|||
|---|---|---|---|
|
#18+
Если Вы обращаетесь к файлу средствами SQL Server'a, то почему бы признак не писать в таблицу на нём же? Что касается Вашего вопроса, то: When xp_cmdshell is invoked by a user who is a member of the sysadmin fixed server role, xp_cmdshell will be executed under the security context in which the SQL Server service is running. When the user is not a member of the sysadmin group , xp_cmdshell will impersonate the SQL Server Agent proxy account, which is specified using xp_sqlagent_proxy_account . If the proxy account is not available, xp_cmdshell will fail. This is true only for Microsoft? Windows NT? 4.0 and Windows 2000. On Windows 9.x, there is no impersonation and xp_cmdshell is always executed under the security context of the Windows 9.x user who started SQL Server. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.08.2001, 16:31 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=46&tid=1825900]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 330ms |

| 0 / 0 |
