我想使用来自多个线程的单个数据库连接来同时在MS SQL Server中读取(或仅执行select语句)。是否可以同时从不同的线程执行所有这些select语句。
我在Linux环境中使用C ++中的MS SQL Server。我需要创建数据库连接池以分别进行读写。所以我想知道是否有可能在线程之间共享相同的连接以进行只读。
select语句可能返回多行(多行或结果集)。这会有问题吗?
答案 0 :(得分:4)
是的,会有问题。一次只能执行一个命令。 但是你可以使用多个连接,连接池对SQL服务器很有用。
答案 1 :(得分:4)
不要在线程之间使用相同的连接。每个连接只能执行一个命令。为每个线程创建连接。我建议你做一个辅助课,让你更容易。
答案 2 :(得分:0)
我想使用来自多个线程的单个数据库连接来读取(或仅执行select 同时在MS SQL Server中的语句
你应该开始阅读文档而不是开始有你想要的有趣想法。
是的,你可以这样做(MARS是主题 - 读它)但是一个连接也可以有一个事务上下文,所以它是一个很好的方法来在一个事务中多次选择(插入,几个upsert等)但作为编程数据库连接的通用方法很糟糕。
按照食谱意味着在需要时打开一个连接,完成后关闭它,不要害怕运行多个连接。