背景
在我的公司,我们有许多CSV文件,必须导入SQL Server。 CSV文件包含多维市场模拟,它们以EAV形式存储(2列和10 ^ 6到10 ^ 10行)。它们的大小是可变的,但它超过500Mb并不罕见。
到目前为止,这些文件是由数据库管理员通过SSMS导入SQL Server的。
每次输入都应该获得ImportationID和Timestamp。对于手动执行此操作的数据库管理员来说,这非常耗时且容易出错。
因此,创建了一个Access前端,以便在使用列表框进行选择后,允许每个用户轻松地将CSV文件导入服务器。 现在,我遇到了通过Access界面导入CSV文件的问题。
问题:
以下是我考虑但可能无法实现的选项:
是否还有其他选项可以使用Access执行此任务?
答案 0 :(得分:2)
一种可能的解决方案如下。您的Access前端有一个表单,它接受三个值:文件名/位置; ImportationID;时间戳。用户输入此数据后,“Go”或“Submit”按钮将触发接受这3个变量的SQL Server数据库上的存储过程。
存储过程将发出BulkInsert(或您链接到的其他命令)以将CSV导入数据库,然后根据您的业务规则操作数据并对其进行转换(例如,正确设置ImportationID和Timestamp) )。
这是数据库开发人员(或可能是数据库管理员)应该能够设置的,并且可以对数据库强制执行任何验证或安全约束。