Ошибка преобразования даты и времени при развертывании сценария SQL через NANT - PullRequest
1 голос
/ 08 ноября 2011

Правильно, это меня заводит и сбивает с толку лучшие умы нашей организации, поэтому я подумал, что смогу рассказать об этом сообществу.

У него есть скрипт сборки NANT, который выполняет сборкусреда местного развития.Это включает в себя копирование файлов, регистрацию dll и создание базы данных (SQL Server 2000).

Проблема, с которой я сталкиваюсь при создании раздела базы данных.

Сборка базы данных, похоже, работает на каждой рабочей станции, на которой она работает.запускается, за исключением одного.

Файлы сценариев сборки NANT отбираются из нескольких сценариев:

  1. Удалять существующую базу данных
  2. Создать новую базу данных
  3. Создание логинов / пользователей
  4. Добавление основных таблиц и данных
  5. Добавление программных объектов.

Это стандартные операторы TSQL, которые могут быть предоставлены, но я опускаюони в настоящее время из-за их размера.

При завершении шага 3 и переходе к шагу 4 он сообщает о следующей ошибке:

[sql] 6 records affected
[echo] Loading core data...
[sql] Changed database context to 'OurDatabase'.
[sql] SQL Error: The statement has been terminated.
[sql] The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.
[sql] Statement: USE OurDatabase
[sql] -- data inserts for table OurTable
[sql] INSERT INTO OurTable(Field1, Field2) VALUES ('Val1', 'Val2')
....

Вот шаг nant build, который решает проблему:

<sql  connstring="${sql.connectionstring}"
      transaction="false"
      delimiter="GO"
      delimstyle="Line"
      batch="false"
      print="false"
      source="${svn.temp.directory}sql\isapi\coredata.sql"
      verbose="false" />

Сам сценарий SQL запускается следующим образом:

USE ISAPI_Security

-- data inserts for table AE_AuditType
INSERT INTO OurTable(Field1, Field2) VALUES ('Val1', 'Val2')
....

Позже есть некоторые поля даты / времени, которые заполняются, однако, когда сценарии SQL запускаются вручную, респorted errors.

Меня сбивает с толку то, что приведенное выше сообщение об ошибке, по-видимому, означает, что при преобразовании оператора use OurDatabase происходит ошибка преобразования даты и времени, что показалось мне невероятно неправдоподобным.

Есть ли у кого-нибудь объяснение этому как-либо?

1 Ответ

1 голос
/ 09 ноября 2011

Предложение Мартина в комментариях к моему вопросу решило проблему

Язык по умолчанию был установлен на «Британский английский», когда мне просто нужно было «Английский».Я смог настроить это, получив доступ к свойствам пользователя через Management Studio.

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