SQL Сервер не записывает значения даты и времени в базу данных? - PullRequest
0 голосов
/ 09 февраля 2020

В настоящее время у меня есть пакетный файл, и я пытаюсь заставить его записать дату, время и имя пользователя в SQL серверную базу данных при запуске. К сожалению, дата и время остаются пустыми в SQL базе данных сервера, где имя пользователя правильно записывается в базу данных.

Запускаемый пакетный файл можно увидеть ниже:

<!-- :
Color 0A
@echo off
Set SearchDate = %Date%
Set UserSearchName = %UserName%
Set SearchTime = %Time%

sqlcmd -S LAPTOP\MSSQLSERVER02 -d AuditLog -E -Q " EXEC dbo.AuditLogCustomerIDTest4 '%SearchDate%', '%UserName%','%SearchTime%' "

Подпроцедура Sql, на которую ссылаются из пакетного файла (dbo.AuditLogCustomerIDTest4), представлена ​​ниже:

CREATE PROCEDURE dbo.AuditLogCustomerIDTest4
@SearchDate nvarchar (30) = Null,
@UserSearchName nvarchar (30) = Null,
@SearchTime nvarchar (30) = Null
AS
Insert Into UserSearches ([SearchDate],[UserSearchName],[SearchTime])
Values ((@SearchDate),(@UserSearchName),(@SearchTime));

Типы данных для каждой из переменных:

1. UserSearchName(varchar(255),null)
2. SearchDate(varchar(255),null)
3. SearchTime(varchar(255),null)

Кто-нибудь знает, почему значения даты и времени отображаются пустыми в базе данных SQL Server? Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 09 февраля 2020

Я настроил таблицу, как у вас, и она тоже не сработала. UserName вносит его в таблицу, потому что вы используете %UserName% вместо %UserSearchName%, поэтому он не использует созданную вами переменную. Я включил профилировщик, и значения, которые вы устанавливаете, не передаются в spro c. Потому что переменные не имеют значений. Избавьтесь от пробелов до и после знака равенства, и он должен работать.

<!-- :
Color 0A
@echo off
Set SearchDate=%Date%
Set UserSearchName=%UserName%
Set SearchTime=%Time%

sqlcmd -S LAPTOP\MSSQLSERVER02 -d AuditLog -E -Q " EXEC dbo.AuditLogCustomerIDTest4 '%SearchDate%', '%UserSearchName%','%SearchTime%' "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...