Я предполагаю, что в вашей строке SQL отсутствуют одинарные кавычки вокруг имени файла. Попробуйте следующее:
String SQL = "BULK INSERT dbo.Assignor FROM '" + path + "\\" +filename+ ".txt' WITH (FIELDTERMINATOR = ',')";
РЕДАКТИРОВАТЬ в ответ на ваш комментарий: я бы не ожидал, что в ResultSet будет что-либо после массовой вставки, во многом так же, как я бы не ожидал ничего в ResultSet после обычное INSERT
заявление. Эти операторы просто вставляют данные, которые они дают, в таблицу, а также не возвращают их.
Если вы не получаете сообщение об ошибке, значит, ваша массовая вставка работает. Если вы запрашиваете таблицу в SQLCMD или SQL Server Management Studio, вы видите данные?
Операторы
INSERT
, UPDATE
, DELETE
и BULK INSERT
не являются запросами, поэтому их не следует использовать с методом executeQuery()
. executeQuery()
предназначен только для выполнения SELECT
запросов. Я рекомендую вместо этого использовать метод executeUpdate(String)
. Этот метод возвращает int
, который обычно является числом вставленных / обновленных / удаленных строк.