Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Script Task для чтения имени Excell sheet inside SSIS / 1 сообщений из 1, страница 1 из 1
25.06.2009, 16:54
    #36060215
YURKA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Script Task для чтения имени Excell sheet inside SSIS
Проблема возникла при чтении имени эксцеллевой таблицы.
Использую скрипт:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
using System.Data.OleDb;
using System.IO;
using System.Runtime;

namespace ST_52bc4feca08c4987967f59f239d33e4a.csproj
{
    [System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
    public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
    {

        #region VSTA generated code
        enum ScriptResults
        {
            Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
            Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
        };
        #endregion

        public void Main()
        {
            DataTable dt;
            String sheetName;
            Dts.Connections["Sales"].AcquireConnection(null);
            String connString = Dts.Connections["Sales"].ConnectionString;
            Dts.Connections["Sales"].Dispose();
            OleDbConnection excelConn = new OleDbConnection(connString);

            excelConn.ConnectionString = connString;
            excelConn.Open();

            dt = excelConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

            sheetName = dt.Rows[ 0 ]["TABLE_NAME"].ToString();

            Dts.Variables["SheetName"].Value = sheetName;


            //dt = null;
            dt.Clear();
            dt.Dispose();
            excelConn.Dispose();
            excelConn.Close();
            //excelConn = null;


            Dts.TaskResult = (int)ScriptResults.Success;
            
        }
    }
}
Данные читаются, всё ок.Но при перемещении файлов в другую папку после обработки - ругается на то, что файл используется.
В задачах сервера для Shared Folders остаётся висеть задача - File Open.
Куда копать?

ПыСы.На 2005 это нормально работало, а на 2008 не хочет.
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Script Task для чтения имени Excell sheet inside SSIS / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]