如何使用连接字符串连接到 odbc

Posted

技术标签:

【中文标题】如何使用连接字符串连接到 odbc【英文标题】:How to use a connection string to connect to an odbc 【发布时间】:2014-10-23 11:27:05 【问题描述】:

简单地说,我正在尝试做这样的事情:

<connectionStrings>
    <add name="UCCXConnection" connectionString="DSN=UCCXWALLBOARD;Uid=uccxwallboard;Pwd=whatever;" providerName="System.Data.SqlClient" />
</connectionStrings>

我复制了一个普通的 SqlClient 连接字符串并将其更改为 DSN 关键字,以便与 odbc 一起使用。当然这不会起作用,因为 DSN 关键字对于这种连接字符串是无效的。

还需要哪些其他更改或框架才能使用连接字符串连接到 odbc?

【问题讨论】:

【参考方案1】:
<configuration>
  <connectionStrings>
    <add 
      name="ODBCDataConnectionString" 
      connectionString="Driver=ODBCDriver;server=ODBCServer;"
      providerName="System.Data.Odbc"
    />
  </connectionStrings>
</configuration>

Source

【讨论】:

谢谢!这让我遇到了错误“没有为具有不变名称'System.Data.Odbc'的 ADO.NET 提供程序找到实体框架提供程序”。这让我得到了将 entityFramework 标签添加到我的 Web.config 文件的答案。这再次让我发现不支持 entityFramework 中的提供者/提供者标签的错误。这让我觉得出了点问题,我需要另一种方法来让“System.Data.Odbc”工作。【参考方案2】:
char ConnStr[256] = 
"DRIVER=IBM INFORMIX ODBC DRIVER;SERVER=my_ids_server_name;
DATABASE=my_ids_databasename;HOST=my_host.my_domain.com;
PROTOCOL=onsoctcp;SERVICE=5550;UID=my_username;PWD=my_pwd;";

SQLDriverConnect( hdbc, NULL, ConnStr, SQL_NTS, NULL, 0, NULL, SQL_DRIVER_NOPROMPT );

仅供参考: 如果是64位驱动的话

DRIVER=IBM INFORMIX ODBC DRIVER (64-bit)

如果你使用的是DSN,那么

char ConnStr[256] = "DSN=my_dsn_name"

【讨论】:

以上是关于如何使用连接字符串连接到 odbc的主要内容,如果未能解决你的问题,请参考以下文章

如何通过Prolog将字符串连接到列表中的多个元素?

给定数据库的 ODBC 连接字符串,如何修改我的 settings.py 以便我的 Django 应用程序连接到它?

使用 ODBC 和用户输入连接字符串在 C# 应用程序中连接到 Oracle 11g

Spark - 将每个分区的字符串连接到单个字符串

如何使用连接字符串从 Winform 应用程序连接到 Godaddy 中的 SQL Server 数据库

播放 wav 文件,将字符串连接到调用文件