首页 > 解决方案 > 如何使用 CDatabase 通过 ODBC 连接到 SQL Server 数据库?

问题描述

我的程序在 Visual C++ 2008 中使用 ADO 连接到 SQL Server。现在看来 ADO 已过时,MS 建议再次使用 ODBC。

因此,我现在研究如何使用 ODBC 连接到 SQL Server。我看到有一个类 CDatabase 可以做到这一点。但是,没有好的文章介绍如何使用 CDatabase 通过 ODBC 连接到 SQL Server。

根据我的研究,似乎可以通过以下方式通过 ODBC 连接到 SQL Server:

  1. 通过像这样的直接连接字符串:

Driver={SQL Server Native Client 11.0};Server=myServerAddress; 数据库=我的数据库;Uid=我的用户名;密码=我的密码;

  1. 使用 ODBC 管理员创建 DSN(Data Source Name),然后与 DSN 连接。

那么如果 1 有效,为什么我们需要创建 DSN?

标签: c++sql-serverodbc

解决方案


您不需要 ODBC DSN。DSN 仅允许将 ODBC 配置外部化,例如服务器名称、驱动程序。等可以为所有 ODBC 应用程序以通用方式配置。

当您将连接字符串存储在外部文件中时,不需要使用 DSN,这样可以在不更改代码的情况下配置特定于环境的值。无论使用何种技术,请务必保护机密而不是存储为明文。


推荐阅读