问题标签 [sqlbulkcopy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
226 浏览

c# - sqkbulkcopy 是否替换表模式?

我正在使用 sqlbulkcopy 从 C# 代码中插入批量数据。temp_upload 表中有 15000 条记录。现在不知何故,WriteToServer() 方法中的数据表只有一列和 37 行。

运行它后,我发现该表只有 37 条记录。最初它有 152 列,但之后只剩下 32 列。

这可能是什么原因?

用于此的 C# 代码

0 投票
1 回答
1489 浏览

c# - 如何在 C# 中使用 ODBC 连接执行 SqlBulkCopy(等效)?

我正在做一个项目,我需要从 MSSQL 数据库表中提取数据,然后将数据插入到 AS400 上相同结构的表中。

SqlBulkCopy 将是此操作的理想选择,但失败(可以理解)因为 AS400 使用 ODBC 连接。

对此的任何帮助或建议将不胜感激!

谢谢

0 投票
3 回答
3358 浏览

c# - SqlBulkCopy 到具有复合主键的表中

我正在尝试使用 SqlBulkCopy 通过在我的应用程序中手动填充 DataTable 来将新行插入到我的数据库表中。

这适用于所有表,但具有由 3 列组成的复合主键的表除外。每当我尝试将任何内容 SqlBulkCopy 到此表中时,我都会收到以下错误:

这甚至可能吗?

我尝试使用以下设置我的 DataTable 的主键:

但同样,没有运气。

0 投票
5 回答
4168 浏览

sql-server - 从 SQL Server 批量复制到 Oracle

我需要一个项目以批量模式将数据从 SQL Server 移动到 Oracle。有来自 DataDirect 和 ODP .net 的 OracleBulkCopy,但要使用它,我必须首先将 SQL 服务器中的数据读取器转换为 CSV 文件,然后可以使用批量复制将其导出。这是一个非常低效的过程,我想知道是否有另一种方式。我们不能使用链接服务器。

0 投票
4 回答
12967 浏览

c# - 使用 sql CE 的 sqlbulkcopy

是否可以将 SqlBulkcopy 与 Sql Compact Edition 一起使用,例如 (*.sdf) 文件?

我知道它适用于 SQL Server 200 Up,但想检查 CE 兼容性。

如果没有其他人知道在不使用 DataSets 的情况下将 CSV 类型文件导入 SQL Server CE 的最快方法(这里吐槽)?

0 投票
3 回答
6026 浏览

sql - 如何将 SqlBulkCopy 与可为空的列一起使用

当涉及可空列时,我在使用 SqlBulkCopy 时遇到问题。听起来 SqlBulkCopy 不知道如何处理可为空的列,并在遇到零长度列时抛出非法大小错误。错误是“从 bcp 客户端接收到无效的列长度...”

我想知道处理这个问题的最佳做法是什么。似乎是一个很好的论坛帖子,描述了这个问题以及如何解决它以读取 csv 文件。

我认为我的情况非常典型和简单。我需要将未知数量的数据从一个数据库表移动到另一个数据库。对我来说更简单的答案是在 sql server 中使用 SSIS/DTS 或链接服务器,但是客户希望应用程序进行数据移动。

是否有已知的解决方法或更好的蒸汽解决方案来移动具有可空字段的数据?

0 投票
1 回答
4279 浏览

c# - SqlBulkCopy 拒绝将 String.Empty 转换为 INT NULL

最近,我的任务是创建一个自动化 ETL 流程,该流程通过读取主映射文件,根据平面文件名将数据泵入表中。我决定使用 SqlBulkCopy,一切似乎都很好。IDataReader 接口被实现来读取平面文件,SQL Server 的元数据提供了用于一对一数据映射的列数,一切正常,直到我遇到带有空字符串的文件。SqlBulkCopy 抛出一个异常,提示“来自数据源的 String 类型的给定值无法转换为指定目标列的 int 类型。”。故事结束,它甚至不关心该列的 DB 类型是 INT NULL。我知道我可以进一步解释元数据,提取给定列的数据类型,基于提取的信息构建数据集,从平面文件中重新转换数据,给自己一个很好的强类型解决方案,但我是一个懒惰的人,觉得他的幸福被微软恶毒地撕裂了,或者如果有人知道我的解决方案,我自己的无能突然的问题。感谢您的时间。

0 投票
1 回答
742 浏览

sql-server - 是否可以在没有“db_datawriter”权限的情况下在 SQL 2008 中使用 SqlBulkCopy?

我想将我的数据库可能的访问方式限制为仅使用存储过程。一切正常,除了System.Data.SqlClient.SqlBulkCopy. 我只在一类中使用它来导入大量数据。

有没有可能避免这个问题?

我试图在调用之前授予权利SqlBulkCopy并在之后将其删除:

但这种方法会引发错误:

用户无权执行此操作。

我在同一个用户下执行它。我怎样才能允许我需要的东西?

0 投票
3 回答
229 浏览

sql-server - 在 SQL 2008 中,哪个权限授予用户向自己授予其他权限的权限?

我需要db_datawriter在执行之前授予 aSqlBulkCopy并在之后将其删除:

但我收到一个错误:

用户无权执行此操作。

我该如何解决?

0 投票
1 回答
2093 浏览

c# - ODBC 和 Windows 服务

我是 Windows 服务的新手,而且......你猜对了,我有点卡住了。让我画一幅画——</p>

我正在运行一个定时服务,它使用 OdbcDataReader 和 SqlBulkCopy 来 (1) 归档数据 (2) 规范化 SQL 框上的数据。当我在 windows 窗体 proj 中运行此代码时。它工作正常。然后,当我将 DNS 的数据目录路径更改为本地驱动器而不是网络共享(只是在本地模拟环境)时,它也可以正常工作。

我显然错过了一些东西。任何帮助将不胜感激。

域名系统