- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个场景,我必须从未知的 excel 文件和未知的选项卡中获取数据。所以我创建了一个包含 50 列的表。
问题是进入第二个循环后 ssis 包没有进展。第一个循环获取文件名,第二个循环获取该文件中的选项卡名称。第二个循环中的 DTF 打开 excel 文件选项卡并读取数据并将其写入数据库表
我创建了 sperate 变量来存储从 foreach 循环容器检索的文件名和选项卡名称,并在 DTF 任务中使用它们。甚至 DFT 任务都没有出现任何错误。
在 DFT 中,我只有一个脚本源来打开 excel 文件并读取数据,然后将其传递给 oledb 目标。
在完成所有繁琐的工作后,现在循环处理 DFT 任务。在 DFT 上方的 foreach 循环中,我放置了一个脚本任务并弹出了一些测试。 MessageBox.Show("blabla")。及其工作原理。现在怎么办?
下面是脚本任务中的代码。
public class ScriptMain : UserComponent
{
private OleDbDataReader excelReader;
private OleDbConnection excelConnection;
private OleDbCommand excelCommand;
public override void PreExecute()
{
base.PreExecute();
// Open
GetDataFromExcelToReader(Variables.IndividualFileNamesForDFT, Variables.IndividualTabNamesForDFT);
}
public override void PostExecute()
{
base.PostExecute();
excelReader.Close();
excelConnection.Close();
}
private void GetDataFromExcelToReader(string p_strFileName, string p_strTabName)
{
string l_strConnectionString;
if (File.Exists(p_strFileName))
{
string extension = Path.GetExtension(p_strFileName);
extension = extension.Replace(".", "");
if (extension.ToLower() == "xlsx")
{
l_strConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=" + p_strFileName + ";Extended Properties=\"Excel 12.0;HDR=NO;IMEX=1\";";
}
else
{
l_strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + p_strFileName + ";Extended Properties=\"Excel 4.0;HDR=NO;IMEX=1\";";
}
excelConnection = new OleDbConnection(l_strConnectionString);
excelConnection.Open();
excelCommand = excelConnection.CreateCommand();
excelCommand.CommandText = "SELECT * FROM [" + p_strTabName + "A1:AX1048576]";
excelCommand.CommandType = CommandType.Text;
excelReader = excelCommand.ExecuteReader();
}
}
public override void CreateNewOutputRows()
{
int counter = 0;
while (excelReader.Read())
{
Output0Buffer.AddRow();
Output0Buffer.FileName = Variables.IndividualFileNamesForDFT.ToString();
Output0Buffer.TabName = Variables.IndividualTabNamesForDFT.ToString();
Output0Buffer.Col1 = excelReader.FieldCount > 0 ? excelReader[0].ToString() : null;
Output0Buffer.Col2 = excelReader.FieldCount > 1 ? excelReader[1].ToString() : null;
Output0Buffer.Col3 = excelReader.FieldCount > 2 ? excelReader[2].ToString() : null;
Output0Buffer.Col4 = excelReader.FieldCount > 3 ? excelReader[3].ToString() : null;
Output0Buffer.Col5 = excelReader.FieldCount > 4 ? excelReader[4].ToString() : null;
Output0Buffer.Col6 = excelReader.FieldCount > 5 ? excelReader[5].ToString() : null;
Output0Buffer.Col7 = excelReader.FieldCount > 6 ? excelReader[6].ToString() : null;
Output0Buffer.Col8 = excelReader.FieldCount > 7 ? excelReader[7].ToString() : null;
Output0Buffer.Col9 = excelReader.FieldCount > 8 ? excelReader[8].ToString() : null;
Output0Buffer.Col10 = excelReader.FieldCount > 9 ? excelReader[9].ToString() : null;
Output0Buffer.Col11 = excelReader.FieldCount > 10 ? excelReader[10].ToString() : null;
Output0Buffer.Col12 = excelReader.FieldCount > 11 ? excelReader[11].ToString() : null;
Output0Buffer.Col13 = excelReader.FieldCount > 12 ? excelReader[12].ToString() : null;
Output0Buffer.Col14 = excelReader.FieldCount > 13 ? excelReader[13].ToString() : null;
Output0Buffer.Col15 = excelReader.FieldCount > 14 ? excelReader[14].ToString() : null;
Output0Buffer.Col16 = excelReader.FieldCount > 15 ? excelReader[15].ToString() : null;
Output0Buffer.Col17 = excelReader.FieldCount > 16 ? excelReader[16].ToString() : null;
Output0Buffer.Col18 = excelReader.FieldCount > 17 ? excelReader[17].ToString() : null;
Output0Buffer.Col19 = excelReader.FieldCount > 18 ? excelReader[18].ToString() : null;
Output0Buffer.Col20 = excelReader.FieldCount > 19 ? excelReader[19].ToString() : null;
Output0Buffer.Col21 = excelReader.FieldCount > 20 ? excelReader[20].ToString() : null;
Output0Buffer.Col22 = excelReader.FieldCount > 21 ? excelReader[21].ToString() : null;
Output0Buffer.Col23 = excelReader.FieldCount > 22 ? excelReader[22].ToString() : null;
Output0Buffer.Col24 = excelReader.FieldCount > 23 ? excelReader[23].ToString() : null;
Output0Buffer.Col25 = excelReader.FieldCount > 24 ? excelReader[24].ToString() : null;
Output0Buffer.Col26 = excelReader.FieldCount > 25 ? excelReader[25].ToString() : null;
Output0Buffer.Col27 = excelReader.FieldCount > 26 ? excelReader[26].ToString() : null;
Output0Buffer.Col28 = excelReader.FieldCount > 27 ? excelReader[27].ToString() : null;
Output0Buffer.Col29 = excelReader.FieldCount > 28 ? excelReader[28].ToString() : null;
Output0Buffer.Col30 = excelReader.FieldCount > 29 ? excelReader[29].ToString() : null;
Output0Buffer.Col31 = excelReader.FieldCount > 30 ? excelReader[30].ToString() : null;
Output0Buffer.Col32 = excelReader.FieldCount > 31 ? excelReader[31].ToString() : null;
Output0Buffer.Col33 = excelReader.FieldCount > 32 ? excelReader[32].ToString() : null;
Output0Buffer.Col34 = excelReader.FieldCount > 33 ? excelReader[33].ToString() : null;
Output0Buffer.Col35 = excelReader.FieldCount > 34 ? excelReader[34].ToString() : null;
Output0Buffer.Col36 = excelReader.FieldCount > 35 ? excelReader[35].ToString() : null;
Output0Buffer.Col37 = excelReader.FieldCount > 36 ? excelReader[36].ToString() : null;
Output0Buffer.Col38 = excelReader.FieldCount > 37 ? excelReader[37].ToString() : null;
Output0Buffer.Col39 = excelReader.FieldCount > 38 ? excelReader[38].ToString() : null;
Output0Buffer.Col40 = excelReader.FieldCount > 39 ? excelReader[39].ToString() : null;
Output0Buffer.Col41 = excelReader.FieldCount > 40 ? excelReader[40].ToString() : null;
Output0Buffer.Col42 = excelReader.FieldCount > 41 ? excelReader[41].ToString() : null;
Output0Buffer.Col43 = excelReader.FieldCount > 42 ? excelReader[42].ToString() : null;
Output0Buffer.Col44 = excelReader.FieldCount > 43 ? excelReader[43].ToString() : null;
Output0Buffer.Col45 = excelReader.FieldCount > 44 ? excelReader[44].ToString() : null;
Output0Buffer.Col46 = excelReader.FieldCount > 45 ? excelReader[45].ToString() : null;
Output0Buffer.Col47 = excelReader.FieldCount > 46 ? excelReader[46].ToString() : null;
Output0Buffer.Col48 = excelReader.FieldCount > 47 ? excelReader[47].ToString() : null;
Output0Buffer.Col49 = excelReader.FieldCount > 48 ? excelReader[48].ToString() : null;
Output0Buffer.Col50 = excelReader.FieldCount > 49 ? excelReader[49].ToString() : null;
}
}
}
最佳答案
你真的需要阅读 A1:AX1048576 吗?它是否处理这个并且只读取它需要的内容?
你能试着只读取你需要的 excel 文件的部分吗?例如,如果您有一个包含 10 列和 400 行的 excel 文件,请尝试阅读 A1:Z9999 - 想知道脚本任务是否只是因为试图将所有这些内容放入内存而陷入困境,然后由于结果集非常庞大而将其丢弃到磁盘。 .
关于ssis - DFT 中的脚本任务未执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13836874/
假设一个数字序列(波状数据)。然后我执行 DFT(或 FFT)变换。我想要实现的下一步是找到与数据中包含的实际频率相对应的频率。正如我们所知,DFT 输出具有实部和虚部 a[i] 和 b[i]。如果我
我正在尝试在频域中执行逆滤波和伪逆滤波。 但是我在访问 DFT 系数和之后乘以 DFT 矩阵时遇到问题,因为我得到了复数,因此实际上是两个矩阵...... 基本上逆向过滤执行 F = G/H, 其中
对于我的项目,我必须对大型 2D 输入矩阵进行 DFT,对其进行处理,然后使用 IDFT 将其转换回来,并将结果与输入矩阵进行比较。我的问题出在 2D DFT 步骤中。我使用一个小的简单数据集编写
我有一个场景,我必须从未知的 excel 文件和未知的选项卡中获取数据。所以我创建了一个包含 50 列的表。 问题是进入第二个循环后 ssis 包没有进展。第一个循环获取文件名,第二个循环获取该文件中
我正在尝试用 Java 编写一个小型离散傅立叶变换,以查找清晰的 400 Hz 正弦信号中的幅度谱(1 秒为 pcm 带符号短) 首先我计算复数值的 DFT: public void berechne
我们需要在 GSL 中更改/重新实现标准的 DFT 实现,即 int FUNCTION(gsl_dft_complex,transform) (const BASE data[],
注意:这个问题最初是在 OpenCV forum 上提出的几天前。 我正在构建一个广泛使用二维 dft、离散傅立叶变换的图像处理程序。我正在尝试加速以实时运行。 在该应用程序中,我仅使用由矩形 ROI
我正在编写一个非常简单的就地 DFT。我正在使用此处显示的公式: http://en.wikipedia.org/wiki/Discrete_Fourier_transform#Definition与
我试图通过 Matlab 中的 DFT(数字傅里叶变换)使用相关性来比较 2 个信号的相似程度,但相关函数给出的结果并不是真正可预测的。例如,如果我比较那两对信号: 相关性 1 和 2 相关性 3 和
更多细节:我开始写我的“学士学位论文”这将是与图像压缩相关的东西 我想知道您是否知道有任何尝试使用 PNG 格式的方波傅里叶级数(变换)作为滤波器而不是 haar 小波?会有什么好处吗? 如果您对我的
在这个 DFT 上我一直在用头撞墙。它应该打印出:8,0,0,0,0,0,0,0 但我得到的是 8,然后是非常非常小的数字。这些是舍入误差吗?有什么我可以做的吗?我的 Radix2 FFT 给出了正确
我想要质心的坐标并且我已经计算了 DFT(用于不同的目的)。我看过一些幻灯片,暗示可以通过查看矩阵的第一个值来粗略估计质心。代码基于:http://docs.opencv.org/doc/tutori
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 7 年前。 Improve t
我正在尝试对两个单独的图像进行逐点乘法傅立叶变换,然后再转换回普通图像。我不太熟悉在 OpenCV 中使用傅立叶变换,但这就是我目前所拥有的。显示输出的最后一行导致类型为“System.Runtime
我正在尝试在我的 C++ 代码中使用 FFTW3,并且我想使用 scipy.fftpack.fft 在 python 中完成同样的事情 用于真正的一维信号。我只是制作一维信号并从信号中找到频率。我不知
我正在进行一项作业,以 20kHz 的采样频率对频率为 500Hz 的方波执行 200 点 DFT,其幅度在 0 和 20 之间交替。 我正在使用 C++,我已经想出了如何编写 DFT 方程的代码,我
我最近在我的 Ubuntu 16.04 机器上重新编译了 OpenCV 3.2.0 以包含 CUDA。出于某种原因,cv::dft() 现在对特定图像大约需要 30 秒,而不是编译前的 5 秒。这是灾
我正在研究图像频率过滤的 GPU 实现。我的代码在 CPU 上运行良好(我使用了类似 this 的东西),但我花了一整天时间尝试在 GPU 上进行同样的工作——但没有成功。我想在频域中应用一个滤波器,
我创建了一个简单的积分函数和 DFT 函数,可以将它们与我编写的其他代码一起使用。 from math import sin,pi from time import time def aintegra
我使用以下代码计算图像与指定内核(在我的例子中是高斯内核)的卷积。每次我得到不同的结果,结果图像甚至不接近我在空间域中通过卷积获得的图像。首先我认为问题出在图像的数据类型上。我将它们更改为 32 和
我是一名优秀的程序员,十分优秀!