SQL Server в Node.js: запрос работает на сервере, но не через драйвер Node.js. - PullRequest
0 голосов
/ 20 сентября 2019

Следующий запрос генерируется скриптом, вставляется в наш SQL Server и затем регистрируется на консоли.

Поля анонимны:

INSERT INTO
  T_OUTLOOK_Kalendereintrag (
    field1,
    field2,
    field3,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    [fieldN WithSpace],
    [fieldN WithSpace],
    [fieldN WithSpace],
    [fieldN WithSpace],
    [fieldN WithSpace],
    [fieldN WithSpace],
    [fieldN WithSpace],
    [fieldN WithSpace],
    [fieldN WithSpace],
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN,
    fieldN
  )
VALUES
  (
    'a2714a8c-3718-42db-87b5-e5c570f84151',
    null,
    '1355',
    '06.08.2019 00:00:00',
    '201908',
    '06.08.2019 12:58:00',
    '06.08.2019 18:58:00',
    6,
    'Comment field',
    'test',
    '0900',
    '0900',
    null,
    null,
    0.75,
    6,
    0,
    'PT',
    'R4200',
    0,
    0,
    null,
    null,
    0,
    0,
    '',
    0,
    'Jane Doe',
    '20.09.2019 11:03:41',
    '20.09.2019 11:03:41',
    null,
    null,
    null,
    'Jane Doe',
    null,
    null,
    null,
    1,
    1,
    '1',
    '1',
    '20.09.2019 11:03:41',
    '20.09.2019 11:03:41',
    0
  )

При вставке на сервер с помощью следующего кода

        try {
            await sql.connect(`mssql://${config.get('config.dbConfig.user')}:${config.get('config.dbConfig.pw')}@${config.get('config.dbConfig.server')}/${config.get('config.dbConfig.dbTest')}`); 

            result = await sql.query(sqlQuery);
            sql.close();

        } catch (e) {
            sql.close();
            logger.error(e);
            console.log(e);
        }

Я получаю следующую ошибку:

  { number: 242,
    state: 3,
    class: 16,
    message:
     'The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.',
    serverName: 'hostname',
    procName: '',
    lineNumber: 1,
    name: 'ERROR',
    event: 'errorMessage' } },

Тем не менее, при выполнении вышеупомянутого запроса и запросе напрямую через HeidiSQL все работает совершенно нормально?Есть идеи?Я не могу найти ошибку, ни где ее найти.

1 Ответ

0 голосов
/ 20 сентября 2019

Видимо проблема была в формате даты.Должно было быть 2019-08-06 18: 58: 00 '

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...