gpt4 book ai didi

sql - 将带有 Access 前端的 CSV 文件导入 SQL Server

转载 作者:搜寻专家 更新时间:2023-10-30 23:10:28 25 4
gpt4 key购买 nike

背景:

在我的公司,我们有许多 CSV 文件必须导入到 SQL Server 中。 CSV 文件包含多维市场模拟,以 EAV 形式存储(2 列和 10^6 到 10^10 行)。它们的大小是可变的,但超过 500Mb 并不罕见。

到目前为止,这些文件都是由数据库管理员通过 SSMS 导入到 SQL Server 中的。

每个导入都应该有一个 ImportationID 和一个时间戳。对于手动执行此操作的数据库管理员来说,这既耗时又容易出错。

因此,创建了一个 Access 前端,以允许每个用户在使用列表框进行选择后,轻松地将 CSV 文件导入服务器。现在,我面临着通过Access接口(interface)导入CSV文件的问题。

问题:

以下是我考虑过但不可能的可能选项:

  • 将一些 T-SQL 命令传递给 SQL Server,如此处所列(Access 不允许)
  • 使用 VBA 循环逐行导入 CSV(10^6 到 10^10 行的时间太长)
  • 在Access数据库中导入CSV文件,然后将表导出到SQL Server(Access的2Gb大小限制使其无法实现)

是否有任何其他选项可以使用 Access 执行此任务?

最佳答案

一种可能的解决方案如下。您的 Access 前端有一个接受三个值的表单:文件名/位置;进口编号;时间戳。用户输入此数据后,“开始”或“提交”按钮会在接受这 3 个变量的 SQL Server 数据库上触发存储过程。

存储过程将发出 BulkInsert(或您链接到的其他命令)以将 CSV 导入数据库,然后操作数据并根据您的业务规则对其进行转换(例如,正确设置 ImportationID 和 Timestamp ).

这是数据库开发人员(或者可能是数据库管理员)应该能够设置的东西,并且可以在数据库上强制执行任何验证或安全约束。

关于sql - 将带有 Access 前端的 CSV 文件导入 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21149867/

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