带有到 odbc 数据库的列的文本文件

Posted

技术标签:

【中文标题】带有到 odbc 数据库的列的文本文件【英文标题】:Text file with column to odbc database 【发布时间】:2013-08-28 19:38:14 【问题描述】:

我每天都会收到文本文件格式的日志。在我运行 notepad++ 宏来清理文件后(垃圾行和空/空行)/

我将它导入到访问表中,然后从那里导出到 odbc 数据库,我不知道是怎么回事。

在建立 odbc 访问连接后,我使用访问 odbc 连接来执行我的 sql 查询并创建所需的报告。

有没有办法让这个过程自动化?从我得到的每日文本日志中更新访问数据库?

谢谢

【问题讨论】:

【参考方案1】:

既然您提到了 ODBC 和 Access,我假设您使用的是 Windows。您所要求的可以使用 Windows 脚本来完成。脚本可以用 VBScript 或 JScript 编写。使用 ActiveX 对象,建立与 Access 或 ODBC 源或两者的连接相对简单。至于读取和操作日志文件,根据文件的大小,您应该能够加载文件的内容并使用正则表达式进行清理或提取您需要的任何数据。

Windows 脚本宿主:http://en.wikipedia.org/wiki/Windows_Script_Host

ADO 连接(用于数据库连接):http://www.w3schools.com/ado/ado_ref_connection.asp

Access 数据库的连接字符串:http://www.connectionstrings.com/access/

此外,您还提到了生成报告。您可以在 Access 中作为宏执行的任何操作也可以在脚本中完成。如果需要,您可以从脚本调用 Access 并自动生成甚至打印报告。

访问应用对象:http://msdn.microsoft.com/en-us/library/office/aa199147%28v=office.10%29.aspx

【讨论】:

非常感谢。我已经完成了您提到的一半,感谢您分享您的方法对我来说似乎是解决方案。【参考方案2】:

您可以通过将逻辑移动到不同的地方来自动化它。我的方法是编写一个读取文件的 ColdFusion(我认为,.net、java 等也可以)应用程序。然后它可以做你现在做的事情 Notepad++。然后,它将在 odbc 数据库中填充一个暂存表,并从暂存表中更新真实表。

然后我会按应用程序安排以所需的时间间隔运行。

一些数据库具有批量加载实用程序,也可以使用。

【讨论】:

以上是关于带有到 odbc 数据库的列的文本文件的主要内容,如果未能解决你的问题,请参考以下文章

无法将带有字符串的文本文件转换为 R 中每行一个字符的列

linux文本如何统计列数

Excel 通过pl/sql导入到数据库 文本导入器 odbc导入器

用于比较具有包含日期​​的单元格的列并将特定文本粘贴到另一列的 Vba 代码

使用 Postgresql 休眠未正确加载具有“文本”数据类型的列的数据

返回包含文本值的列的列名