gpt4 book ai didi

通过 Jet 访问 SSIS FlatFile

转载 作者:行者123 更新时间:2023-12-01 22:52:46 26 4
gpt4 key购买 nike

有没有办法在 SSIS 中使用 Microsoft.Jet.OLEDB.4.0 驱动程序访问 FlatFiles?

通过 FlatFile Source 进行访问要好得多,这只是关于是否存在一种方法可以使用 Jet 驱动程序进行访问。

最佳答案

这似乎是一个有趣的问题,所以我闲聊了一下。是的,您绝对可以使用 JET 驱动程序来读取平面文件。 HOW TO: Use Jet OLE DB Provider 4.0 to Connect to ISAM Databases请参阅“打开文本”部分

默认情况下,它期望文件是 CSV,但您可以在 Schema.INI 中指定格式。这将与连接管理器指向的文件夹位于同一文件夹中。

关于 CM 需要注意的一点是,它指向文本文件的文件夹,而不是特定文件。

创建连接管理器时,需要进入“全部”选项卡(选择“ native OLE DB\Microsoft Jet 4.0 OLE DB 提供程序”后),然后添加“扩展属性”。我能够使其与 CSVDelimited 和 Just Delimited 的 FMT 一起使用(因为我的示例文件是 csv)。

enter image description here

在源文件中交换制表符的逗号并在 TabDelimited 处设置 FMT 似乎在连接管理器属性中不起作用,但我没有尝试按照 BOL 文章所述创建 schema.ini 文件。

You cannot define all characteristics of a text file through the connection string. For example, if you want to open a fixed-width file, or you want to use a delimiter other than the comma, you must specify all these settings in a Schema.INI file.

我的 CM 上 ConnectionString 的完整值如下

Data Source=C:\tmp\so\;Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="text;HDR=Yes;FMT=CSVDelimited;";

如果包在设计时工作正常,但一旦运行就崩溃了,则 JET 驱动程序仅适用于 32 位,因此在 64 位计算机上,如错误消息所示。

SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "OLEDB_JET" failed with error code 0xC0209303. There may be error messages posted before this with more information on why the AcquireConnection method call failed.

解决这个问题的方法是在 32 位模式下从命令行运行它,例如

C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn>.\dtexec /file C:\sandbox\SSISHackAndSlash\SSISHackAndSlash\so_JetFlatFile.dtsx

关于通过 Jet 访问 SSIS FlatFile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7626971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com