Это моя хранимая процедура:MS SQL Server ошибка хранимая процедура «неправильный синтаксис»
ALTER PROCEDURE its.sp_WriteTransaction
(
@LoginID int,
@PersonID int,
@BusinessID int,
@TransType smallint,
@LastHost varchar(15),
@TransData varchar(255)
)
AS
DECLARE @TransDate DATETIME
SET @TransDate = GETDATE()
INSERT INTO Transactions (LoginID, PersonID, BusinessID, TransDate, TransType, LastHost, TransData)
VALUES (@LoginID, @PersonID, @BusinessID, @TransDate, @TransType, @LastHost, @TransData)
RETURN
Это мое призвание линия:
sql = "sp_WriteTransaction" & " " & Session("UserID") & "," & Session("PersonID") & "," & Session("bizID") & "," & TransType & "," & ClientIP & "," & TransData
Но каждый раз, когда я запускаю его я получаю следующее сообщение об ошибке :
сообщение об ошибке:
Тип ошибки: Microsoft OLE Поставщик БД для SQL Server (0x80040E14) Строка 1: Неправильный синтаксис около '.0'. /etearsheets/authorize/CheckAccess.asp, строка 1163
Что не так в IP-формате, вызывающем ошибку «.0» и как его исправить?
Благодаря Р.
** НЕ КОГДА-ЛИБО НИКОГДА ** используйте «sp_» в качестве префикса имени сохраненного параметра! Microsoft очень злится, если вы это делаете! Это префикс с поддержкой Microsoft, и вы просто просите о проблемах, если вы его используете! Используйте «proc_» или что-то еще - или никакой префикс вообще. –
На самом деле у меня нет выбора. Я строю эти хранимые процедуры в соответствии с документацией компании, а проблема «sp_» относится к SQL Server 7.0 Service Pack 4, и мы находимся на V.09.00.3042. Но спасибо за хэдс-ап, я это помню. – flavour404
Этот код уязвим для SQL-инъекции –