我有一个在 Windows 64 下运行的本机 C++ 应用程序,它不使用 ATL(也不会)。我希望能够通过网络从我的应用程序连接到 SQL Server 2012。
我有以下要求:
性能是关键
C++ 只会插入记录(比如通过调用存储过程),不会插入其他记录(没有选择、删除或更新)。
记录插入应该是非阻塞的(异步)。
我将选择范围缩小到 OLE DB 和 ODBC,因为它们满足上述标准。然而,互联网上似乎有很多关于使用什么的相互矛盾的建议。例子:
“如果您可以选择使用 ODBC 或 OLE DB 来访问您的 SQL Server 数据库,请选择 OLE DB,因为它通常更快。[7.0, 2000, 2005] 更新于 2-20-2006”来源:http://www .sql-server-performance.com/2007/odbc-oledb/
“OLE DB 已弃用”来源:http ://weblogs.sqlteam.com/dang/archive/2011/09/04/rip-ole-db.aspx
“避免将 OLE DB 用于新的 SQL Server 应用程序开发。更新您的技术路线图,以将使用 SQLNCLI、SQLNCLI10、SQLNCLI11或 SQLOLEDB OLE DB 提供程序的现有 SQL Server 应用程序迁移到 SQL Server Native Client ODBC 驱动程序。” 来源:http : //weblogs.sqlteam.com/dang/archive/2011/09/04/rip-ole-db.aspx 但 SQLNCLI11 是基于 MSDN 的 SQL Server Native Client ODBC 驱动程序:http: //msdn.microsoft .com/library/ms130904.aspx那么,这是博客中的错字吗?
我真的很困惑,想就我的标准访问 SQL Server 的最佳技术发表更多意见。