2

今天想创建一个 C++ 应用,连接到 MS SQL 服务器并执行检索记录和执行 SPROC 等功能,然后我发现了这个Soci,一个 C++ 库,可以帮助我们的应用与 DB 对话,我也发现没有MSSQL 的 Soci 中的特定后端选项与 Oracle 和其他的不同,看起来,我们只能通过 ODBC 与 mssql 对话。但是,我一直在寻找合适的文档/手册/参考资料,它会给我一个通过 连接到 MSSQL 的分步说明soci,我在 Soci 的母网站上闲逛,但我找不到任何有关 MSSQL 的信息。(我看过这个

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

但是,我的数据库托管在单独的服务器中,因此,如果有人能对此有所了解,那就太棒了:)

4

1 回答 1

2

您可以使用如下连接字符串ODBC连接到 sql server :Soci

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

使用Session创建功能(根据 Soci 文档使用 odbc)。

在哪里:

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

这应该在 ODBC 驱动程序之上使用FreeTDS 。身份验证很有趣,默认情况下 FreeTDS 将使用 sql 身份验证,除非用户名中有反斜杠,否则它将使用 Windows 域登录进行身份验证 EG:"DOMAIN\username"

同样有趣的是FreeTDS 连接字符串参数。

希望这可以帮助!

于 2016-03-02T02:24:41.900 回答