Неверное имя объекта 'PetDatabase.Sales' - PullRequest
0 голосов
/ 06 марта 2012

Я пытаюсь выполнить следующее, чтобы импортировать большой объем данных о продажах в виде текстового файла в базу данных.Когда я запускаю следующее, я получаю сообщение об ошибке: «Неверное имя объекта« PetDatabase.Sales »

BULK INSERT PetDatabase.Sales
FROM 'C:\Temp\P1.txt'
WITH 
(
  FORMATFILE = 'C:\Temp\PetSales.Fmt'
);

Может кто-нибудь увидеть, что вызывает мою проблему? У меня есть таблицы в папке; однако, когда я попыталсяPetsDatabase.Tables.Sales это не имеет никакого значения.

Ответы [ 3 ]

2 голосов
/ 06 марта 2012

Игнорировать этот ответ. Это было написано, когда вопрос был помечен mysql. Оставив здесь ответ, оставьте комментарии.

-

Попробуйте использовать LOAD DATA INFILE.

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

0 голосов
/ 07 марта 2012

Является ли PetDatabase именем схемы или базы данных?Если это имя базы данных, включите имя схемы, например, если ваша схема имеет имя dbo.

PetDatabase.dbo.Sales
0 голосов
/ 07 марта 2012
  1. Убедитесь, что PetDatabase.Sales существует в вашем текстовом файле.

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

    BULK INSERT PetDatabase FROM 'c: \ temp \ p1.txt' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\ n') GO --Checkсодержание таблицы.SELECT * FROM PetDatabase GO - Удалить таблицу, чтобы очистить базу данных.SELECT * FROM PetDatabase GO

Кроме того, убедитесь, что к вам не относится следующее:

Если пользователь SQL Server вошел в систему с использованием аутентификации Windows, пользовательможет читать только файлы, доступные для учетной записи пользователя, независимо от профиля безопасности процесса SQL Server.

При выполнении инструкции BULK INSERT с помощью sqlcmd или osql с одного компьютера при вставке данных в SQL Server навторой компьютер, и указав файл данных на третьем компьютере с помощью пути UNC, вы можете получить ошибку 4861.

Чтобы устранить эту ошибку, используйте проверку подлинности SQL Server и укажите имя входа SQL Server, которое использует профиль безопасностиучетной записи процесса SQL Server или настройте Windows для включения делегирования учетной записи безопасности.

...