powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Script Task для чтения имени Excell sheet inside SSIS
1 сообщений из 1, страница 1 из 1
Script Task для чтения имени Excell sheet inside SSIS
    #36060215
YURKA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема возникла при чтении имени эксцеллевой таблицы.
Использую скрипт:
Код: 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
1 сообщений из 1, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Script Task для чтения имени Excell sheet inside SSIS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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