jjzjj

sqlbulkcopy

全部标签

c# - SqlBulkCopy 是否自动启动事务?

我正在通过SqlBulkCopy插入数据,如下所示:publicvoidtestBulkInsert(stringconnection,stringtable,DataTabledt){using(SqlConnectioncon=newSqlConnection(connection)){con.Open();using(SqlBulkCopybulkCopy=newSqlBulkCopy(con)){bulkCopy.DestinationTableName=table;bulkCopy.WriteToServer(dt);}}}这是否会自动包装在SQL事务中,以便如果在中途出现问

c# - SqlBulkCopy 是否自动启动事务?

我正在通过SqlBulkCopy插入数据,如下所示:publicvoidtestBulkInsert(stringconnection,stringtable,DataTabledt){using(SqlConnectioncon=newSqlConnection(connection)){con.Open();using(SqlBulkCopybulkCopy=newSqlBulkCopy(con)){bulkCopy.DestinationTableName=table;bulkCopy.WriteToServer(dt);}}}这是否会自动包装在SQL事务中,以便如果在中途出现问

c# - SqlBulkCopy 和在标识列上具有父/子关系的 DataTables

我们需要根据父表中的身份主键更新具有父/子关系的多个表,该主键被一个或多个子表称为外键。由于数据量很大,我们希望在内存中构建这些表,然后使用C#中的SqlBulkCopy从DataSet或单个DataTable中整体更新数据库。我们还希望从多个线程、进程和可能的客户端并行执行此操作。我们在F#中的原型(prototype)显示了很多promise,性能提高了34倍,但是此代码强制在父表中使用已知的标识值。如果不强制,Identity列会在SqlBulkCopy插入行时在数据库中正确生成,但Identity值不会在内存中的DataTable中更新。此外,即使是,也不清楚DataSet是否

c# - SqlBulkCopy 和在标识列上具有父/子关系的 DataTables

我们需要根据父表中的身份主键更新具有父/子关系的多个表,该主键被一个或多个子表称为外键。由于数据量很大,我们希望在内存中构建这些表,然后使用C#中的SqlBulkCopy从DataSet或单个DataTable中整体更新数据库。我们还希望从多个线程、进程和可能的客户端并行执行此操作。我们在F#中的原型(prototype)显示了很多promise,性能提高了34倍,但是此代码强制在父表中使用已知的标识值。如果不强制,Identity列会在SqlBulkCopy插入行时在数据库中正确生成,但Identity值不会在内存中的DataTable中更新。此外,即使是,也不清楚DataSet是否

c# - SqlBulkCopy 插入标识列

我正在使用SqlBulkCopy对象将生成的几百万行插入到数据库中。唯一的问题是我要插入的表有一个标识列。我尝试将SqlBulkCopyOptions设置为SqlBulkCopyOptions.KeepIdentity并将标识列设置为0,DbNull.Value和null。这些都没有用。我觉得我错过了一些非常简单的东西,如果有人能启发我,那就太好了。谢谢!edit澄清一下,我没有在我正在导入的DataTable中设置标识值。我希望它们作为导入的一部分生成。编辑2这是我用来创建基础SqlBulkCopy对象的代码。SqlBulkCopysbc=GetBulkCopy(SqlBulkCop

c# - SqlBulkCopy 插入标识列

我正在使用SqlBulkCopy对象将生成的几百万行插入到数据库中。唯一的问题是我要插入的表有一个标识列。我尝试将SqlBulkCopyOptions设置为SqlBulkCopyOptions.KeepIdentity并将标识列设置为0,DbNull.Value和null。这些都没有用。我觉得我错过了一些非常简单的东西,如果有人能启发我,那就太好了。谢谢!edit澄清一下,我没有在我正在导入的DataTable中设置标识值。我希望它们作为导入的一部分生成。编辑2这是我用来创建基础SqlBulkCopy对象的代码。SqlBulkCopysbc=GetBulkCopy(SqlBulkCop

c# - 将 DataTable 批量复制到 MySQL(类似于 System.Data.SqlClient.SqlBulkCopy)

我正在将我的程序从MicrosoftSQLServer迁移到MySQL。除了批量复制的一个问题外,一切都很好。在使用MSSQL的解决方案中,代码如下所示:connection.Open();SqlBulkCopybulkCopy=newSqlBulkCopy(connection);bulkCopy.DestinationTableName="testTable";bulkCopy.WriteToServer(rawData);现在我尝试为MySQL做一些类似的事情。因为我认为性能会很差,所以我不想将DataTable写入CSV文件并使用MySqlBulkLoader类从那里插入。任何

c# - 将 DataTable 批量复制到 MySQL(类似于 System.Data.SqlClient.SqlBulkCopy)

我正在将我的程序从MicrosoftSQLServer迁移到MySQL。除了批量复制的一个问题外,一切都很好。在使用MSSQL的解决方案中,代码如下所示:connection.Open();SqlBulkCopybulkCopy=newSqlBulkCopy(connection);bulkCopy.DestinationTableName="testTable";bulkCopy.WriteToServer(rawData);现在我尝试为MySQL做一些类似的事情。因为我认为性能会很差,所以我不想将DataTable写入CSV文件并使用MySqlBulkLoader类从那里插入。任何

c# - 让 SqlBulkCopy 接受列名

我正在将一些基于存储过程的报告例程转换为在C#中运行。一般的想法是使用C#/.NETFramework的所有奇迹,然后将结果传回数据库。一切都进展顺利,除了我昨天遇到并今天解决的一个问题。为了进行导入,我以编程方式创建一个DataTable并使用SqlBulkCopy将结果移动到服务器。例如DataTabledetail=newDataTable();detail.Columns.Add(newDataColumn("Stock",Type.GetType("System.Decimal")));detail.Columns.Add(newDataColumn("Receipts",T

c# - 可以在 SQLBulkCopy 之后取回主键 ID 吗?

我正在使用C#并使用SqlBulkCopy。我有一个问题。我需要在一个表中进行批量插入,然后在另一个表中进行批量插入。这2个有PK/FK关系。TableAField1-PKautoincrementing(easytodoSqlBulkCopyasstraightforward)TableBField1-PK/FK-ThisfieldmakestherelationshipandisalsothePKofthistable.ItisnotautoincrementingandneedstohavethesameidastotherowinTableA.因此这些表具有一对一的关系,但我不