извините, я новичок в программировании, я пытался найти ответ на мою проблему, но не нашел.
Ситуация такая:
У меня есть сканер штрих-кода, который я хочу использовать. Этот сканер штрих-кода сканирует штрих-код в памяти и генерирует текстовый файл с датой, временем и кодом. Формат даты - дд / мм / гггг. Я хочу загрузить эти показания в базу данных 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 (данные)
У кого-нибудь есть идея получше?
Спасибо!