2013-12-18 4 views
2

Я создал хранимую процедуру в SQL, которая импортирует данные из плоского файла, обновляет данные и импортирует обновленные данные в таблицу.Очистить данные в Excel с помощью SSIS

После некоторых исследований я обнаружил, что единственным способом экспортировать эту (64-битную) таблицу было бы создание пакета SSIS и использование SQL-задания для выполнения пакета.

Я сделал все это и смог получить данные таблицы, но проблема в том, что они не очищают данные перед импортом. Я тогда создал следующие

SSIS Package

При отбрасывании таблицы Excel, у меня есть следующий SQL заявление: DROP TABLE [Лист1 $] При создании таблицы, у меня есть заявление следующий SQL:

CREATE TABLE 'Sheet1$' ( BRANCH NVARCHAR(10) , SRCBRANCH NVARCHAR(10) , DEPARTMENT NVARCHAR(10) , GLCODE NVARCHAR(10) , DOCDATE NVARCHAR(10) , VALUE NVARCHAR(50) , ITEMREFERENCE NVARCHAR(100) , MISCREFERENCE NVARCHAR(100) , SUFFIX NVARCHAR(10) , NARRATIVE [NVARCHAR(100) ) GO

После таблицы уронил, она очищает все данные вместе с заголовком, а затем терпит неудачу на втором SQL Task (Создание таблицы Excel) с сообщением об ошибке: следующее

 
[Execute SQL Task] Error: Executing the query "CREATE TABLE 'Sheet1$' (
    BRANCH NVARCHAR(10) , 
    S..." failed with the following error: "Syntax error in CREATE TABLE statement.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly. 

После сбоя я не могу выполнить пакет из-за ошибки проверки. Это связано с тем, что мои заголовки на листе Excel удалены.

Может кто-нибудь указать мне в правильном направлении. Я исчерпал все варианты.

С уважением

+0

Вам нужно четко очистить содержимое таблицы? Вы пытались использовать параметр TRUNCATE вместо того, чтобы отбрасывать? –

+0

Привет shree.pat18, я обновил сценарий до TRUNCATE TABLE [Sheet1 $], но все равно получаю сообщение об ошибке: [Выполнение SQL-задачи] Ошибка: выполнение запроса «TRUNCATE TABLE [Sheet1 $]» не удалось со следующей ошибкой: Недопустимый оператор SQL: ожидаемые «DELETE», «INSERT», «PROCEDURE», «SELECT» или «UPDATE». ». Возможные причины сбоя: проблемы с запросом, свойство ResultSet неправильно установлены, параметры не установлены правильно или соединение установлено неправильно. – PKirby

+0

будет 'DELETE * FROM [Sheet1 $]' работать вместо того, чтобы отбрасывать и воссоздавать таблицу? – SeanC

ответ

1
CREATE TABLE 'Sheet1$' 
(
    BRANCH NVARCHAR(10) , 
    SRCBRANCH NVARCHAR(10) , 
    DEPARTMENT NVARCHAR(10) , 
    GLCODE NVARCHAR(10) , 
    DOCDATE NVARCHAR(10) , 
    VALUE NVARCHAR(50) , 
    ITEMREFERENCE NVARCHAR(100) , 
    MISCREFERENCE NVARCHAR(100) , 
    SUFFIX NVARCHAR(10) , 
    NARRATIVE **[**NVARCHAR(100) 
) 
GO 

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

Смежные вопросы