SQLSRV32.DLL和MARS支持

时间:2012-05-04 04:33:30

标签: c# odbc dsn

通过谷歌搜索后,我发现SQLSRV32 odbc驱动程序不支持MARS。这是解决方法的变通方法。我猜的一种方法是停止循环几个SQL命令的结果。但在我的情况下,我必须创建30-40表并一次插入大约400-500行数据。打开和关闭每个sql命令的连接是个好主意。请帮助

1 个答案:

答案 0 :(得分:1)

不要为每个语句打开和关闭连接,打开连接并创建多个命令以使用该连接。插入约15,000条记录不应该花费太长时间。我不知道ODBC是否支持它,但您也可以查看SQL Server的批量复制功能来执行此类操作。

关于MARS的最后一句话。 MARS仅在您希望在返回结果集的同一连接上具有多个同时查询时才有意义。这不是真正的问题,因为你正在插入。

此外,没有什么能阻止您运行多个线程来执行插入操作。我会为每个表做一个线程,每个核心都有一个线程。 Parallel.ForEach可以在这里提供帮助。