Я использую SSIS в Visual Studio 2019 для чтения текстовых файлов фиксированной ширины. В зависимости от первого символа каждой строки в файле фиксированной ширины я отправляю строку на один из двух указанных выходов. Оба вывода имеют длину 700, что соответствует фиксированной ширине текстового файла.
Компонент Script запрограммирован с использованием C# и оценивает первый символ каждой строки, используя пару if/else. операторы.
Мой вопрос: приведенный ниже сценарий строится, и пакет SSIS работает успешно, но записывает 0 строк в таблицы базы данных. Я думаю, что основная причина заключается в вызове line.Split(delimiters), и мне нужны инструкции, как решить эту проблему.
public class ScriptMain : UserComponent
{
private StreamReader textReader;
private string rxFile;
private string stagingPath = "mypath";
private char[] delimiters;
public override void AcquireConnections(object Transaction)
{
IDTSConnectionManager100 connMgr = this.Connections.TransactionFile;
rxFile = (string)connMgr.AcquireConnection(null);
}
public override void PreExecute()
{
base.PreExecute();
textReader = new StreamReader(rxFile);
}
public override void CreateNewOutputRows()
{
DirectoryInfo di = new DirectoryInfo(stagingPath);
FileInfo[] files = di.GetFiles("*.txt");
foreach (FileInfo file in files)
{
using (FileStream fileStream = file.OpenRead())
using (textReader)
{
while (!textReader.EndOfStream)
{
string line = textReader.ReadLine();
delimiters = Environment.NewLine.ToCharArray();
string[] items = line.Split(delimiters);
if (items[0] == "2")
{
PharmacyBuffer.AddRow();
PharmacyBuffer.Column0 = items[0];
}
else if (items[0] == "4")
{
TransactionsBuffer.AddRow();
TransactionsBuffer.Column0 = items[0];
}
}
}
}
textReader.Close();
textReader.Dispose();
}
public override void PostExecute()
{
base.PostExecute();
}
}
Подробнее здесь: https://stackoverflow.com/questions/787 ... estination
Компонент сценария SSIS, используемый в качестве источника, не записывает строки в назначение SQL ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Пакет SSIS – как импортировать данные из источника Excel вместо всего листа
Anonymous » » в форуме C# - 0 Ответы
- 49 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как объединить назначение фрагментов, назначение маски и трансляцию в PyTorch?
Anonymous » » в форуме Python - 0 Ответы
- 38 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как объединить назначение фрагментов, назначение маски и трансляцию в PyTorch?
Anonymous » » в форуме Python - 0 Ответы
- 38 Просмотры
-
Последнее сообщение Anonymous
-