不支持关键字:带有 SqlBulkCopy 的“提供者”

Posted

技术标签:

【中文标题】不支持关键字:带有 SqlBulkCopy 的“提供者”【英文标题】:Keyword not supported: 'provider' with SqlBulkCopy 【发布时间】:2014-05-19 11:29:50 【问题描述】:

我尝试在 SqlBulkCopy 中写入访问连接字符串,但出现错误 Keyword not supported: 'provider'

这是我的代码:

bulk = New SqlBulkCopy("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & mFileName & ";Jet OLEDB:Database Password=hmis;")
bulk.DestinationTableName = "Advance"
bulk.WriteToServer(dt_table)

【问题讨论】:

【参考方案1】:

SqlBulkCopy 仅适用于 SQL Server。您尝试调用的构造函数 SqlBulkCopy(string) 需要 SQL Server 的有效连接字符串。您传递的连接字符串仅适用于 Access。

不同的数据库产品具有不同的批量导入操作机制。您不能使用为一个数据库产品创建的类将数据导入到另一个。

Microsoft Access 不支持批量导入。

【讨论】:

任何其他选项,如 SqlBulkCopy 将数据从数据表复制到访问数据库【参考方案2】:

SQLBulkCopy Class 仅支持 SQL Server 连接字符串。您不能使用其他类型的连接字符串..

【讨论】:

任何其他选项,如 SqlBulkCopy 将数据从数据表复制到访问数据库 这在很大程度上取决于您拥有的数据类型。例如,您可以运行特定的 MS Access SQL 从文本文件中导入数据。

以上是关于不支持关键字:带有 SqlBulkCopy 的“提供者”的主要内容,如果未能解决你的问题,请参考以下文章

SqlBulkCopy简单封装,让批量插入更方便

SqlBulkCopy只支持SQL Server? EF Core实现支持多数据库类型的Bulk Copy

来自 SqlBulkCopy 的 LINQ 查询的数据读取器

使用 SQLBulkCopy 从 excel 到 SQL Server 时添加文本

使用 SqlBulkCopy 在不同源之间传输数据

使用 SQLBulkCopy 插入/更新数据库