使用 .NET 在 SYBASE 中批量插入
如何在 .NET 中使用 SYBASE 表中的数组进行批量数据插入。我不想使用 BCP 实用程序。
How can I do bulk data insert in Array in SYBASE table using in .NET. I don't want to use BCP utilities.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

发布评论
评论(4)
我做我的改变2024-12-22 21:56:47
Sybase.AdoNet2.AseClient.dll 中的命名空间 Sybase.Data.AseClient 中有 AseBulkCopy 类
DataTable dt = SourceDataSet.Tables[0];
using (AseBulkCopy bulkCopy = new AseBulkCopy((AseConnection)conn))
{
bulkCopy.BatchSize = 10000;
bulkCopy.NotifyAfter = 5000;
bulkCopy.AseRowsCopied += new AseRowsCopiedEventHandler(bc_AseRowsCopied);
bulkCopy.DestinationTableName = DestTableName;
bulkCopy.ColumnMappings.Add(new AseBulkCopyColumnMapping("id", "id");
bulkCopy.WriteToServer(dt);
}
static void bc_AseRowsCopied(object sender, AseRowsCopiedEventArgs e)
{
Console.WriteLine(e.RowCopied + "Copied ....");
}
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
有点乱
您必须使用 sp_dboption 来打开它
然后您可以使用 Select Into 来获取数据
您再次关闭该选项。
还建议您在任何长时间的操作之前删除所有触发器索引等,然后将它们放回去...
您是如何连接的,如果您使用 ODBC,您可能会很有趣,因为它往往会崩溃专有的东西,除非你通过。
发现这个,更记得以前使用delphi和sybase时遇到的类似麻烦
Sybase手册
It's a bit untidy
You have to use sp_dboption to turn it on
then you can use Select Into to get the data in
the you turn the option back off again.
It's also recomended that your drop all triggers indexes etc before and put them back after for any 'erm lengthy operation...
How are you connected up, you might have a bit of fun if you are on ODBC, as it tends to blow up on proprietry stuff, unless you put pass thru on.
Found this, fater remembering similar troubles way back when with delphi and sybase
Sybase Manual