Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
通过谷歌搜索后,我知道 SQLSRV32 odbc 驱动程序不支持 MARS。有什么解决方法。我猜的一种方法是通过几个 SQL 命令的结果停止循环。但就我而言,我必须创建 30-40 个表并一次插入大约 400-500 行数据。为每个 sql 命令打开和关闭连接是个好主意吗?请帮助
不要为每个语句打开和关闭连接,打开连接并创建多个命令来使用该连接。插入约 15,000 条记录应该不会花费太长时间。我不知道 ODBC 是否支持它,但您也可以查看 SQL Server 的批量复制功能来执行此类操作。
关于火星的最后一句话。MARS 仅在您希望在返回结果集的同一连接上同时进行多个查询时才重要。这不是真正的问题,因为您正在执行插入操作。
此外,没有什么可以阻止您运行多个线程来执行插入操作。我可能会为每个表做一个线程,每个核心都有一个线程。Parallel.ForEach 可以在这里提供帮助。