Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
@@SPID в триггере
|
|||
|---|---|---|---|
|
#18+
В таблице в триггере отслеживаю клиентов, которые обновляли эту таблицу и заношу их в другую таблицу-протокол. Но @@SPID в триггере указывает всегда только на одного клиента - хозяина (?). Это SQL 7. По моему я где-то уже встречал на форуме такую ситуацию, но не нашёл. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2001, 11:59 |
|
||
|
@@SPID в триггере
|
|||
|---|---|---|---|
|
#18+
@@SPID идентифицирует не пользователя, а текущий пользовательский процесс, этот номер динамически назначается сервером при каждом коннекте. Для идентификации пользователя по номеру надо использовать SUSER_SID() или USER_ID(). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2001, 12:41 |
|
||
|
@@SPID в триггере
|
|||
|---|---|---|---|
|
#18+
SQL rabotaet v etom otnoshenii is ruk von ploho. Est' funktsija HOST_ID() no ona ispol'zuet PID operatsionnoi sistemy i vozvraschaet varchar(, a dlja PID v W95 zadeistvovano 10 - potomu rezul'tat nepredskazuem. Chasche vsego eto *. Luchshe vsego ispol'zovat' VB. Option Compare Database Option Explicit Public UserID As String Public ComputerID As String Public Declare Function GetComputerName Lib "Kernel32" Alias "GetComputerNameA" _ (ByVal lpBuffer As String, nSize As Long) As Long Public Const MAX_COMPUTERNAME_LENGTH As Long = 15& Public Declare Function WNetGetUser& Lib "Mpr" Alias "WNetGetUserA" _ (lpName As Any, ByVal lpUserName$, lpnLength&) Public Function GetMachineName() As String Dim lSize As Long Dim sBuffer As String sBuffer = Space$(MAX_COMPUTERNAME_LENGTH + 1) lSize = Len(sBuffer) If GetComputerName(sBuffer, lSize) Then GetMachineName = Left$(sBuffer, lSize) End If End Function Public Function GetWinUserName() As String Dim cbusername As Long, UserName As String Dim ret As Long UserName = "" UserName = Space(256) cbusername = Len(UserName) ret = WNetGetUser(ByVal 0&, UserName, cbusername) If ret = 0 Then ' ret=0 - Success GetWinUserName = Left(UserName, InStr(UserName, Chr(0)) - 1) Else GetWinUserName = "UnknownUser" End If End Function Public Function GetUserAndComputerID() UserID = GetWinUserName() ComputerID = GetMachineName() Debug.Print UserID Debug.Print ComputerID End Function No copyright! Free to use! Alexander ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2001, 12:42 |
|
||
|
@@SPID в триггере
|
|||
|---|---|---|---|
|
#18+
Спасибо, получилось. Сработал даже просто USER_NAME(). Нашёл работающие нормально с USER_NAME() PC и нашёл разницу в правах с неработающим. Оказалось, что надо убрать везде (в EM и Active Directory) права Administrators и оставить Domain Computers и Users. Правда причины этого непонятны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2001, 14:19 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32018986&tid=1824617]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
108ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 466ms |

| 0 / 0 |
