Добрый день. В программе Vogbit потребовалось реализовать механизм, который при обновлении таблицы (в данном случае, штрих-коды) автоматически записывает некоторые данные в файл. Решил сделать через триггер в БД SQL.
Триггер:
После изменения Vogbit выдает сообщение "У пользователя нет разрешений на выполнение данного действия."
Подробности ошибки:
Что сделано неправильно и как это исправить?
P.S. Логин и пароль пользователя правильные.
Триггер:
| Код |
|---|
USE [VOGBIT_splav] GO /****** Object: Trigger [General].[csvBarCodesUpdate] Script Date: 13.11.2017 9:00:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER TRIGGER [General].[csvBarCodesUpdate] ON [VOGBIT].[General].[BarCodes] AFTER Insert, Update, Delete AS EXEC sp_xp_cmdshell_proxy_account 'SPLAV/eremin.mv','a23B49'; EXEC xp_cmdshell "C:/Progs/BarCodesQuery.bat" |
После изменения Vogbit выдает сообщение "У пользователя нет разрешений на выполнение данного действия."
Подробности ошибки:
| Код |
|---|
Сообщение: У пользователя нет разрешений на выполнение данного действия. Отправитель: Csdn.Vogbit.Data.BarCodes Исключение: Csdn.Vogbit.Data.SqlServerException Источник: Csdn.Vogbit.Data Версия 1.1.37841 сборка 171 Внутреннее исключение:: У пользователя нет разрешений на выполнение данного действия.<KeyErr><ErrCode:6001FFFF> <ErrNumber:15247> <ErrSeverity:16> <ErrState:1> <ErrProcedure:Called from [General].[BarCodes.Insert]: > <ErrLine:1> Ошибка преобразования значения varchar "except" в тип данных int. Список вызовов: в Csdn.Vogbit.Data.SqlExceptionBuilder.ThrowError(Object sender, SqlException ex, String database) в Csdn.Vogbit.Data.DataObjectList.TryToApplyInternal(Boolean useTransaction) в Csdn.Vogbit.Data.DataObjectList.Apply(Boolean raiseEvent) в Csdn.Vogbit.Data.BizObject.Save() в Csdn.Vogbit.Forms.BaseEditForm.Apply() в Csdn.Vogbit.Forms.EditDialog.EditFormApply() в Csdn.Vogbit.Forms.EditDialog.Apply() Inner Exception --------------- Сообщение: У пользователя нет разрешений на выполнение данного действия.<KeyErr><ErrCode:6001FFFF> <ErrNumber:15247> <ErrSeverity:16> <ErrState:1> <ErrProcedure:Called from [General].[BarCodes.Insert]: > <ErrLine:1> Ошибка преобразования значения varchar "except" в тип данных int. Исключение: System.Data.SqlClient.SqlException Источник: .Net SqlClient Data Provider Список вызовов: в System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount) в System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount) в System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping) в System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping) в System.Data.Common.DbDataAdapter.Update(DataTable dataTable) в Csdn.Vogbit.Data.DataAdapter.Update(DataTable dataTable) в Csdn.Vogbit.Data.DataAdapter.UpdateDataTable(DataTable dataTable) в Csdn.Vogbit.Data.DataObjectList.ApplyInternal() в Csdn.Vogbit.Data.DataObjectList.TryToApplyInternal(Boolean useTransaction) |
Что сделано неправильно и как это исправить?
P.S. Логин и пароль пользователя правильные.
Изменено: - 13.11.2017 09:05:20
