BCP -w копирует 0 строк без сообщения об ошибке

Неправильно ли использовать устаревшие методы или классы в Java? "

blockquote>

Неправильно как таковое, но это может сэкономить вам некоторую проблему. Вот пример, где он сильно обескуражен использовать устаревший метод:

http://java.sun.com/j2se/1.4.2/docs/guide/misc/threadPrimitiveDeprecation.html

Почему Thread.stop устарел?

Поскольку он по своей сути небезопасен. Остановка потока заставляет его разблокировать все мониторы, которые он заблокировал. (Мониторы разблокируются по мере распространения исключения ThreadDeath если какой-либо из объектов, ранее защищенных этими мониторами, находился в несогласованном состоянии, другие потоки могут теперь просматривать эти объекты в несогласованном состоянии. Такие объекты, как говорят, повреждены. Когда потоки работают на поврежденных объектах, произвольное поведение Это может быть тонким и трудным для обнаружения, или это может быть выражено. В отличие от других исключенных исключений ThreadDeath убивает потоки молча, , пользователь не предупреждает, что его программа может быть повреждена.

blockquote>

Что произойдет, если не изменить какой-либо метод и запустить мой приложение с предупреждениями, которые у меня есть, приведет к возникновению любой проблемы с производительностью.

blockquote>

Не должно быть проблем с точки зрения производительности. Стандартный API разработан с учетом некоторой обратной совместимости, поэтому приложения могут постепенно адаптироваться к более новым версиям Java.

2
задан YanTianqi 1 March 2019 в 10:48
поделиться

1 ответ

Это похоже на проблему кодировки символов с BCP, и -

  1. -w ожидает разделенных табуляцией данных, основанных на документации bcp. Так замените трубы на вкладку и попробуйте?

  2. Чтобы убедиться, что текст вставлен правильно, попробуйте указать кодовую страницу в вашей команде bcp

-C { ACP | OEM | RAW | code_page }
  1. Если вы используете опцию -C code_page, вам необходимо сопоставить кодовую страницу с кодировкой файла, который вы пытаетесь принять. Полный список доступен здесь здесь

Вот пробная версия в моей системе:

  • Для текста ANSI
bcp stage.bcp_test in "test.txt" -S dbservername -c -C ACP -t "|" -T -F 1 -b 20000 -m 1 -e error.txt

Результаты до и после использования ACP

  • Для текста в кодировке UTF-8
bcp stage.bcp_test in "test.txt" -S dbservername -c -C 65001 -t "|" -T -F 1 -b 20000 -m 1 -e error.txt
  • Использование -w (изменить текст в табуляцию)
bcp stage.bcp_test in "test.txt" -S dbservername -w -T -F 1 -b 20000 -m 1 -e error.txt
0
ответ дан Pa1 1 March 2019 в 10:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: