У меня есть база данных Crate.io, работающая с CrateDB версии 3.2.7, под Windows Server 2012. (Я знаю, что она не самая лучшая, сейчас она только для целей тестирования и не будет окончательной настройкой.)
Я создал таблицу dbo.snapshots
Я экспортировал данные из SQL Server в файл CSV с помощью команды BCP.
bcp DatabaseName.dbo.Snapshots out F:\Path\dbo_OldSnapshots.dat -S ServerName -U UserName -P Password -a65535 -c -C 65001 -t ,
Затем я попытался импортировать данные в CrateDb с помощью команды «COPY FROM».
COPY dbo.snapshots FROM 'file:///F:/Path/dbo_OldSnapshots.dat';
Файл размером около 11go.Я знаю, что он нашел файл, так как я мог видеть ввод-вывод на диске в диспетчере задач.
Он работал в течение приблизительно 13 минут, а затем сказал "затронуто 0 строк".Я понятия не имею, почему это не работает, я не получил никаких ошибок.
Любая идея, что я могу сделать, чтобы это работало?
********************************* ИЗМЕНЕНО ДОБАВЛЕНО ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ ****************************
Хорошо, так что я обнаружил, что вы можете указать условие «ОБРАТНАЯ СВЯЗЬ» в конце команды COPY,Я проверил это с меньшим файлом.
С этим я получил ошибку, которая говорит, что первичный ключ не может быть НЕДЕЙСТВИТЕЛЕН.Я знаю, что это не NULL в данных, которые я извлекаю, поэтому мне нужно выяснить, почему он говорит, что мой первичный ключ - NULL.
Поэтому я изменил разделитель BCP на запятую, поскольку CSV-файл для CrateDB должен быть разделен запятыми, и я вручную отредактировал файл, добавив заголовки столбцов, поскольку CrateDB запрашивает заголовок.
Я также отредактировал файл в Notepadd ++, чтобы сохранить его в кодировке UTF-8, чтобы убедиться, что это правильная кодировка.
Но, несмотря на все это, я все равно получаю сообщение о том, что значение первичного ключане должно быть NULL.