【问题标题】:C++ Database API's - DTLC++ 数据库 API - DTL
【发布时间】:2011-06-08 15:37:16
【问题描述】:

我正在寻找一种能够同时连接到不同类型数据库的 C++ API;主要是 MySQL、oracle 和 SQL Server,我相信我找到了一个带有“DTL”的 (http://dtemplatelib.sourceforge.net/)

但是,我很难在 localhost 上连接我的数据库。有没有人用过这个,除了他们的网站做的事情之外,还可以对它有更多的了解

DBConnection::GetDefaultConnection().Connect("UID=example;PWD=example;DSN=example;");

虽然我猜想在 uid 和 pwd 中添加什么,但我不确定它在 'dsn' 中的期望是什么,是否有任何真实的示例或者你们以前使用过它并且可以提供帮助。

【问题讨论】:

  • 通过connectionstrings.com了解连接字符串的奇妙世界。
  • 您的代码中包含的是一个连接字符串,所以我想它们毕竟是相关的。
  • 是的,这就是您的示例不起作用的原因。
  • 我是一位 ODBC、C++ 和数据库专家,他可能会对您有很大帮助 - 不用说,从现在开始我不会这样做。
  • @Neil 我已经阅读了更多的网站,但我错了 - 对不起,我是个混蛋

标签: c++ mysql oracle api odbc


【解决方案1】:

这是一个 ODBC 库,因此 DSN 是 ODBC 数据源名称。在 Windows 上,这些可以在管理工具->数据源下进行配置。

【讨论】:

  • 您能否进一步透露一下?我在我的机器上试验它,但实际上它将在服务器上运行;我对此有点困惑。
  • 不确定还要添加什么。尝试阅读 ODBC。从这里开始解决您的直接问题:support.microsoft.com/kb/305599
【解决方案2】:

正如@Dark Falcon 所说,“DSN”指的是“ODBC 数据源”。你得到的是一个额外的间接级别,如下所示:

在 Windows 上,您通常使用“数据源 (ODBC)”控制面板创建 ODBC 数据源,该控制面板通常位于“管理工具”中。

无论如何,这将配置/部署“东西”与代码分开。例如,如果您想在开发期间将代码与测试数据库一起使用,然后在部署时使用“实时”数据库,您可以在不更改代码甚至不更改连接字符串的情况下执行此操作。相反,您将数据源更改为引用生产服务器而不是测试服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    相关资源
    最近更新 更多