在WIN环境下安装32位/64位达梦ODBC驱动

在WIN环境下安装32位/64位达梦ODBC驱动

达梦的ODBC安装需要下载完整安装包进行勾选ODBC进行安装,鉴于之前项目使用经验,再需要批量部署时非常不方便,因此该文章主要介绍并提供简易方法。

压缩文件目录为

其中DMODBC32为```language

32位ODBC所需要的依赖,DMODBC64位64位ODBC所需要依赖。

conf.ini文件为记录驱动依赖目录,文件内容为

```language

##32位ODBC依赖目录,注意\\,自行拷贝到需要的目录

DM_HOME_32=C:\\DMODBC32

##64位ODBC依赖目录,注意\\,自行拷贝到需要的目录

DM_HOME_64=C:\\DMODBC64

installDmOdbc_32.bat 为安装32位的ODBC,文件内容为

@echo off

setlocal enabledelayedexpansion

REM 读取conf.ini文件中的DM_HOME_32属性

for /f "tokens=2 delims==" %%i in ('findstr "DM_HOME_32" conf.ini') do (

set DM_HOME_32=%%i

)

REM 检查是否成功读取DM_HOME_32

if not defined DM_HOME_32 (

echo 错误:未找到 conf.ini 文件或 DM_HOME_32 属性。

pause

exit /b 1

)

REM 替换REG文件中的C:\\DM32为DM_HOME_32的值

set "regfile=update_reg_DmOdbc_32.reg"

set "tempfile=%temp%\temp_reg.reg"

REM 读取REG文件并替换路径

(for /f "tokens=*" %%a in (%regfile%) do (

set "line=%%a"

set "line=!line:C:\\DM32=%DM_HOME_32%!"

echo !line!

)) > "%tempfile%"

REM 调用替换后的REG文件

regedit /s "%tempfile%"

REM 删除临时文件

del "%tempfile%"

REM 拷贝libeay32.dll和ssleay32.dll到C:\Windows\SysWOW64

set "source_path=%DM_HOME_32%\bin\thirdparty\openssl_xp"

set "target_path=C:\Windows\SysWOW64"

if exist "%source_path%\libeay32.dll" (

copy "%source_path%\libeay32.dll" "%target_path%"

if errorlevel 1 (

echo 错误:无法拷贝 libeay32.dll。

pause

exit /b 1

)

echo libeay32.dll 已成功拷贝到 %target_path%。

) else (

echo 错误:未找到 libeay32.dll。

pause

exit /b 1

)

if exist "%source_path%\ssleay32.dll" (

copy "%source_path%\ssleay32.dll" "%target_path%"

if errorlevel 1 (

echo 错误:无法拷贝 ssleay32.dll。

pause

exit /b 1

)

echo ssleay32.dll 已成功拷贝到 %target_path%。

) else (

echo 错误:未找到 ssleay32.dll。

pause

exit /b 1

)

echo REG文件已成功更新并执行。

echo DLL文件已成功拷贝。

pause

update_reg_DmOdbc_32.reg文件内容为

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\WOW6432Node\ODBC\ODBCINST.INI\ODBC Drivers]

"DM8 ODBC DRIVER"="Installed"

[HKEY_LOCAL_MACHINE\Software\WOW6432Node\ODBC\ODBCINST.INI\DM8 ODBC DRIVER]

"Driver"="C:\\DM32\\bin\\dodbc.dll"

"Setup"="C:\\DM32\\bin\\dodbc.dll"

-----------------------------以下为64位-----------------------------------

installDmOdbc_64.bat 为安装64位的ODBC,文件内容为

@echo off

setlocal enabledelayedexpansion

REM 读取conf.ini文件中的DM_HOME_64属性

for /f "tokens=2 delims==" %%i in ('findstr "DM_HOME_64" conf.ini') do (

set DM_HOME_64=%%i

)

REM 检查是否成功读取DM_HOME_64

if not defined DM_HOME_64 (

echo 错误:未找到 conf.ini 文件或 DM_HOME_64 属性。

pause

exit /b 1

)

REM 替换REG文件中的C:\\DM64为DM_HOME_64的值

set "regfile=update_reg_DmOdbc_64.reg"

set "tempfile=%temp%\temp_reg.reg"

REM 读取REG文件并替换路径

(for /f "tokens=*" %%a in (%regfile%) do (

set "line=%%a"

set "line=!line:C:\\DM64=%DM_HOME_64%!"

echo !line!

)) > "%tempfile%"

REM 调用替换后的REG文件

regedit /s "%tempfile%"

REM 删除临时文件

del "%tempfile%"

echo REG文件已成功更新并执行。

pause

update_reg_DmOdbc_64.reg文件内容为

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBC Drivers]

"DM8 ODBC DRIVER"="Installed"

[HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\DM8 ODBC DRIVER]

"Driver"="C:\\DM64\\bin\\dodbc.dll"

"Setup"="C:\\DM64\\bin\\dodbc.dll"

文件附件太大,无法直接上传可以到此处下载

附件文件下载地址

相关文章