Member 11873237 Ответов: 2

Как импортировать файл excel и выполнять запросы после этого?


У меня есть эта процедура, которая должна импортировать файл excel с помощью задания, а затем у меня есть несколько запросов, которые создают какой-то отчет и после всего этого экспортируют отчеты.

Но когда я выполняю процедуру задание работает правильно и оно импортирует файл excel но остальные коды не распознают таблицу которая только что была импортирована и SQL выдает мне эту ошибку:


Работа "беса" началась успешно.

Msg 208, Уровень 16, состояние 1, процедура Final_Result, строка 7 недопустимое имя объекта 'dbo. ' New LP".

(1 ряд(ов) )

но когда я обновляю базу данных SQL, таблица "New LP" существует. как я должен решить эту проблему?

Что я уже пробовал:

единственный способ, которым это работает, - это сначала импортировать файл, а затем выполнять запросы.
Но мне нужно иметь импорт и экспорт в одной и той же хранимой процедуре.
Что же мне делать?

Karthik_Mahalingam

проверьте, существует ли этот объект в БД
dbo. 'New LP'

2 Ответов

Рейтинг:
1

Maciej Los

Цитата:
Строка 7 недопустимое имя объекта 'dbo. ' New LP'

Сообщение об ошибке совершенно ясно!

Проверьте имя объекта и исправьте его. Заключите имя объекта в квадратные скобки, если имя объекта содержит пробел: dbo.[New LP]

Для получения дополнительной информации, пожалуйста, смотрите: Microsoft-SQL Server-Transact SQL – " недопустимый объект”[^]


Рейтинг:
0

David_Wimbley

Учитывая, что вы не предоставили образец sql-запроса, который вы выполняете, я скажу, что это потому, что вы пытаетесь сделать запрос из него, говоря

SELECT * FROM dbo.New LP


Когда вместо этого вам нужно использовать что-то вроде

SELECT * FROM dbo.[New LP]


Sql server не любит пробелов в именах таблиц, поэтому, когда это происходит, вам нужно использовать скобки, как я показал, чтобы запросить таблицу с пробелом в имени.

Чтобы воспроизвести, сделайте что-то вроде этого

CREATE TABLE [Test Data]
(
	Id INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
	Name VARCHAR(20)
) 


SELECT * FROM [dbo].[Test Data]
SELECT * FROM Test Data


Вы увидите, что первый запрос работает, а второй-нет.


Member 11873237

это именно то, что я имею в своем запросе:от [dbo].['Новый альбом']

[no name]

Вы уверены, что ваше имя таблицы ['New LP'], а не просто [New LP]? Попробуйте потерять символы одинарных кавычек.

Member 11873237

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

[no name]

Другими словами, вы совсем не уверены. Посмотрите на базу данных в SSMS и убедитесь наверняка.