需要帮助通过 Soci 连接 MSSQL

Need help connecting MSSQL via Soci

今天我想创建一个连接到 MS SQL 服务器并执行诸如检索记录和执行 SPROC 等功能的 C++ 应用程序,然后我发现了这个 Soci,一个 C++ 库,它可以帮助我们的应用程序与 DB 对话,我还发现 Soci 中没有针对 MSSQL 的特定后端选项,这与 Oracle 和其他软件不同,看起来我们只能通过 ODBC 与 mssql 对话。然而,我一直在寻找一个合适的 document/manual/reference,它会给我一个通过 soci 连接到 MSSQL 的分步说明,我在 Soci 的母网站上闲逛,但我无能为力找到 MSSQL。 (这个我看过

backend_factory const& backEnd = odbc; session sql(backEnd, "filedsn=c:\my.dsn");

但是,我的数据库托管在一个单独的服务器上,因此,如果有人能对此有所说明,那就太好了:)

您可以使用 ODBC 通过 Soci 连接到 sql 服务器,使用如下所示的连接字符串:

"DRIVER=libtdsodbc.so;SERVER=MYSERVER;PORT=1433;DATABASE=my_database_name;UID=username;PWD=password"

使用Session创建函数(使用odbc as per the Soci documentation)。

其中:

  • MYSERVER 是您要连接的服务器的地址/名称。
  • 1433 是 sql 服务器的默认端口,您的情况可能有所不同。
  • my_database_name 是您要访问的数据库的名称

这应该在 ODBC 驱动程序之上使用 FreeTDS。 身份验证很有趣,默认情况下 FreeTDS 将使用 sql 身份验证,unless there is a backslash in the user name 然后它将使用 Windows Domain Logon 进行身份验证 EG: "DOMAIN\username"

同样有趣的是 FreeTDS connection string parameters.

希望对您有所帮助!