【问题标题】:Access to Sql Server via ODBC from C# : ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified从 C# 通过 ODBC 访问 Sql Server:错误 [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
【发布时间】:2011-07-28 21:49:49
【问题描述】:

我已配置系统 DSN 并测试正常:

Microsoft SQL Server Native Client 版本 10.00.2531

数据源名称:xxx 数据源

描述:xxx 服务器:SERVER\SHARE

使用集成安全性:是数据库:

yyy 语言:(默认)数据

加密:无信任服务器

证书:没有多个活动结果

Sets(MARS):无镜像服务器:

翻译字符数据:是日志长

运行查询:无日志驱动程序

统计:不使用区域设置:

不使用 ANSI 引用标识符:是

使用 ANSI Null、填充和警告:

是的

我在 Windows 7 64 位上工作。 x86模式下运行的代码。

在 Excel 中,我只能连接到用户 DSN,系统 DSN 没有出现。 我也尝试过使用 DSN,它在 excel 中有效,但在 c# 中无效

我将 ODBC 的权限更改为 regedit 中的每个人。

我在 c# 代码中使用了这个连接字符串:Data Source=xxx;Initial Catalog=yyy;Integrated Security=SSPI;

我有这个错误:ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

有什么想法吗?

提前致谢

【问题讨论】:

    标签: c# sql-server odbc


    【解决方案1】:

    我实现了使用该连接字符串在没有 ODBC 的情况下连接到数据库:

     Driver={SQL Server Native Client 10.0};Server=xxx;Database=zzz;Trusted_Connection=yes;
    

    谢谢!

    【讨论】:

    • 您应该编辑您的原始帖子而不是添加答案
    【解决方案2】:

    这里发布的最初问题很可能是由于已创建 64 位 ODBC 数据源(通过控制面板使用 ODBC 管理器)并且应用程序只有 32 位。

    换一种说法——

    32 位应用需要 32 位 ODBC 驱动程序和 32 位 DSN (C:\Windows\SysWOW64\odbcad32.exe)

    64 位应用需要 64 位 ODBC 驱动程序和 64 位 DSN (C:\Windows\System32\odbcad32.exe)

    32 位和 64 位组件不能在这里互换!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      • 2014-09-15
      • 2016-04-19
      • 2015-10-10
      • 1970-01-01
      • 2017-02-03
      • 2014-02-09
      相关资源
      最近更新 更多