来自 C++ 的线程安全 SQL Server
thread safe sql server from c++
我在使用 OpenMP 并行化的 c++ 中有一个 for 循环。在循环中,我正在访问一个 sql 服务器数据库。有人告诉我,如果我在线程之间共享相同的 ODBC 驱动程序,则数据访问将不会是并行的。如果我为每次迭代定义不同的驱动程序,那将非常耗时。(?)有没有办法让不同的线程以安全的并行方式访问相同的数据?
PS:我不是在写数据库,只是从中读取。
你有人告诉我,如果我在线程之间共享相同的 ODBC 驱动程序,则数据访问将不会是并行的。
确定你已经告诉了这个吗?
多线程存在很多问题,但对于大多数 ODBC 驱动程序,可以使用每线程连接模型并行执行读取。因此,每次启动线程时连接(并在线程关闭时关闭(。更好的模式是使用连接池。
相关文章:
- 使用 SQLConfig数据源创建 SQL Server DSN 失败:关键字-值对无效
- 如何将QTime保存在SQL Server Express表中并读回?
- 无法从 SQL Server 检索数据
- 如何在将Visual Studio C++控制台应用程序连接到Microsoft SQL Server时修复"
- SQL Server-未找到数据源名称,也未指定默认驱动程序
- 我应该如何使用SQL Server CLR来使用由C++ / C编译的UDT
- 如何在C++代码中连接 SQL Server 数据库
- SQL Server 2017 C++ ODBC 连接在 Linux 上不起作用
- 从适用于 SQL Server 的 Azure 帐户获取 IP
- 通过 ODBC C++将带有日期时间的记录插入 SQL Server 2014 的问题
- SQL Server 2016 CLR 存储过程错误:"A system assertion check has failed"
- MFC 使用 ODBC 连接到 SQL Server
- 从.Net访问SQL Server与从Qt
- QODBC连接到SQL Server,但无法执行查询
- 如何在C 中连接到SQL Server
- ODBC 错误"String data, right truncation State code: 22001"与 SQL Server 数据库
- 在C++中通过SOCI/ODBC实现SQL Server存储过程
- 以编程方式连接到远程 SQL Server C++
- 如何与SQL Server 2008建立稳定的连接,并在C 中编码我的第一个CRUD操作
- Microsoft如何保护SQL Server二进制文件免受反向工程的影响