zoukankan      html  css  js  c++  java
  • ODBC连接发生错误:未发现数据源名称并且未指定默认驱动程序

    程序在使用ODBC方式连接数据库时发生错误:

    ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序。

    什么原因造成的呢?

    本人使用《Delphi+SQL Server数据库应用实例完全解析》 附带例程测试,发现不能连接数据库。
    提示通信模块驱动问题。
    环境:win7_x86 + SQL Server2000 + Delphi 7.
    解决方法:

    SQL Server 2000

    1. 通过数据库->所有任务->还原数据库。
    2. 安全性设置->登录-> 设置默认数据为 xqwy。

    ODBC
    1. 打开控制面板-> ODBC 数据源管理器

    2. 添加-> 选择 SQL Server

    3. Name: 数据库名称 Description: 数据库描述  Server:计算机名称

    4. 下一步 保存  确定。

    5. 测试: Delphi 7 创建ADOCon 控件,双击控件。

    6.Use Connection String -> build

    7. 连接: 使用数据源名称:xqwy
                 用户名:sa

                 密码:sa

       测试连接->测试连接成功。

    Delphi7   ADO 代码:config.pas

     1 unit config;
     2 
     3 interface
     4 uses
     5  SysUtils,forms;
     6 type
     7   TXQWYConfig=class   //定义连接管理类
     8   public
     9      class function getConnectionStr:string;  //定义类的方法,得到连接字符串
    10 end;
    11 implementation
    12 class function TXQWYConfig.getConnectionStr;
    13 begin
    14   //result:='Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=XQWY;Data Source=(local)';
    15   result:='Provider=MSDASQL.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=XQWY;Data Source=xqwy';
    16 end;
    17 end.

    ================================  参考资料  ==================================

    首先说明下程序的运行环境。操作系统是win8 64位的,.net 4.0的程序。

    进展一,打开控制面板的“数据源”工具,在“驱动程序”中并未发现对应的驱动程序名称,于是,下载安装64位ODBC驱动程序,并根据驱动程序列表中的驱动名称,修改了对应的odbc连接字符串。测试后依然提示以上错误。甚至根据高手指点,使用了64位系统专用的odbc连接字符串,依然错误。

    进展二,突然想到会不会和.net程序有关?因为部分控件兼容性问题,程序虽然运行在64位操作系统下,但实际上是以32位方式运行。这个会不会是问题的根本呢?尝试下载32位的odbc驱动,并安装。测试连接,成功!

    原因分析:结合之前看到的现象(win8 64位系统中的“设置odbc数据源”工具居然分为32位和64位两个程序),猜想原因:win8 64位系统中的odbc驱动分为32位和64位分开管理,32位方式运行的程序只会调用32位的odbc驱动,同理,64位的程序只能调用64位的odbc驱动。

  • 相关阅读:
    CodeForces 687B Remainders Game
    CodeForces 689D Friends and Subsequences
    CSU 1810 Reverse
    生成树收录
    吃奶酪
    带逆向思维的并查集
    中位数定理
    种类并查集(关押犯人)
    带权并查集
    分层图
  • 原文地址:https://www.cnblogs.com/kayvanguo/p/5501590.html
Copyright © 2011-2022 走看看