ODBC配置 - 在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配

在安装某个软件后, 配置ODBC 连接发现报错 。 

1. win 7 , 64bit系统

2. 开启SQLWays 4.0,在任务管理其中查看进程名,后面有 *32的就是32bit程序,没有就是64位的。这里SQLWays是32bit程序 。 

3. win 7 默认开的的ODBC界面是对应 C:\Windows\System32\odbcad32.exe,也就是64bit的ODBC,32bit程序可能需要的是32 bit的ODBC, 32位的那个, 位置是 C:\Windows\SysWOW64\odbcad32.exe,  所以可以直接到这个目录下打开ODBC exe程序,或者ODBC图标->右键->属性->快捷方式,修改其中的目标部分
\system32\odbcad32.exe 为 \SysWOW64\odbcad32.exe,其他保持不变。起始位置也做对应修改。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-2073740/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-2073740/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
运行本实例需要配置用户DSN,在ODBC数据源管理器配置用户DSN连接指定的SQL Server数据库。关键操作步骤如下: (1)单击“开始”按钮,选择“程序”→“管理工具”→“数据源(ODBC)”命令,打开“ODBC数据源管理器”对话框,打开“用户DSN”选项卡。 (2)单击“添加”按钮,打开“创建新数据源”对话框,选择安装数据源的驱动程序,这里选择“SQL Server”。 (3)单击“完成”按钮,打开“创建到SQL Server的新数据源”对话框,在“名称”文本框设置数据源名称为“mystudentsys”,在“描述”文本框设置数据源描述为“配置SQL Server数据库DSN”,在“服务器”下拉列表框选择连接的数据库所在服务器为“(local)”。 (4)单击“下一步”按钮,选择“使用用户输入登录ID和密码的SQL Server验证”单选框,在“登录ID”文本框输入SQL Server用户登录ID,这里为“sa”,在“密码”文本框输入SQL Server用户登录密码。 (5)单击“下一步”按钮,选择“更改默认的数据库为”复选框,并在其下拉列表框选择连接的数据库名称,这里选择“tb_student”,单击“下一步”按钮。 (6)单击“完成”按钮,打开“ODBC Microsoft SQL Server安装”对话框,显示新创建的ODBC数据源配置信息。 (7)单击“测试数据源”按钮测试数据库连接是否成功,如果测试成功,单击“确定”按钮,完成数据源配置
Delphi通过注册表在程序增减和修改数据源,具体代码部分摘录://建立一个Registry实例,设置根键值为HKEY_LOCAL_MACHINE    if OpenKey('Software\ODBC\ODBC.INI\ODBC Data Sources',True) then    //找到Software\ODBC\ODBC.INI\ODBC Data Sources    WriteString( 'MyAccess', 'Microsoft Access Driver (*.mdb)')    //注册一个DSN名称    else    //创建键值失败    begin    memo1.lines.add('增加ODBC数据源失败');    exit;    end;    CloseKey;    if OpenKey('Software\ODBC\ODBC.INI\MyAccess',True) then    //找到或创建Software\ODBC\ODBC.INI\MyAccess,写入DSN配置信息    begin    WriteString( 'DBQ', 'C:\Demo\orders.mdb' );    //指定数据库目录    WriteString( 'Description', '新Access数据源' );    //数据源描述    WriteString( 'Driver', 'C:\PWIN98\SYSTEM\odbcjt32.dll' );    //驱动程序DLL文件,根据系统安装的目录不同而不同。    WriteInteger( 'DriverId', 25 );    //驱动程序标识    WriteString( 'FIL', 'Ms Access;' );    //Filter依据    WriteInteger( 'SafeTransaction', 0 );    //支持的事务操作数目    WriteString( 'UID', '' );    //用户名称    bData[0] := 0;    WriteBinaryData( 'Exclusive', bData, 1 );    //非独占方式    WriteBinaryData( 'ReadOnly', bData, 1 );    //非只读方式    end    else    //创建键值失败    begin    memo1.lines.add('增加ODBC数据源失败');    exit;    end;    CloseKey;    if OpenKey('Software\ODBC\ODBC.INI\MyAccess\Engines\Jet',True) then    //找到或创建Software\ODBC\ODBC.INI\MyAccess\Engines\Jet,写入DSN数据库引擎配置信息    begin    WriteString( 'ImplicitCommitSync', 'Yes' );    WriteInteger( 'MaxBufferSize', 512 );    //缓冲区大小    WriteInteger( 'PageTimeout', 10 );    //页超时    WriteInteger( 'Threads', 3 );    //支持的线程数目    WriteString( 'UserCommitSync', 'Yes' );    memo1.Lines.add('操作成功!');    end;   请下载完整实例的源码包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值