Команда Sql, запущенная из SSMS, но не из CMD - PullRequest
0 голосов
/ 20 марта 2019

извините, я новичок в программировании, я пытался найти ответ на мою проблему, но не нашел. Ситуация такая: У меня есть сканер штрих-кода, который я хочу использовать. Этот сканер штрих-кода сканирует штрих-код в памяти и генерирует текстовый файл с датой, временем и кодом. Формат даты - дд / мм / гггг. Я хочу загрузить эти показания в базу данных SQLExpress, но поле даты отформатировано - как я понял по умолчанию, yyyy-mm-dd У меня есть файл .bat, который вызывает команду SQL, например: файл летучей мыши:

sqlcmd -S MYPC \ SQLEXPRESS -U тест -P тест -i "d: \ newfolder \ update.sql" -o "d: \ newfolder \ log_% дата: ~ 6,4 %% дата: ~ 3, 2 %% дата: ~ 0,2% _% времени: ~ 0,2 %% время: ~ 3,2% .txt "

файл update.sql:

INSERT INTO logistica.dbo.test ([данные], [ора], [часть]) ВЫБЕРИте convert (date, [data], 110), [ora], [part] FROM openrowset (массовый 'd: \ input \ BARCODES.txt', FORMATFILE = 'D: \ newfolder \ format_file.xml') как t;

Проблема в том, что приведенная выше команда sql будет работать из SSMS, а не из cmd. Я получаю следующую ошибку:

Сообщение 4864, уровень 16, состояние 1, сервер MYPC \ SQLEXPRESS, строка 1 Ошибка преобразования данных при массовой загрузке (несоответствие типов или недопустимый символ для указанной кодовой страницы) для строки 1, столбца 1 (данные)

У кого-нибудь есть идея получше?

Спасибо!

...