Windows平台驱动配置¶
自动注册ODBC驱动¶
目前大部分的windows操作系统都是64位的,在windows平台安装好神通数据库后,默认会自动注册64位的驱动。 通过操作系统的 [ODBC数据源管理器] 可以查看到注册的驱动,神通数据库的驱动名称为:OSCAR ODBC DRIVER,支持宽字符的驱动名称为:OSCAR ODBCW DRIVER。
64位操作系统中有2个odbc数据源管理器,分别管理32和64位的odbc驱动,请选择合理驱动管理器管理odbc驱动:
- 32位的odbc数据源管理器:C:\Windows\SysWOW64\odbcad32.exe
- 64位的odbc数据源管理器:C:\Windows\System32\odbcad32.exe
也可以通过windows的注册表查看系统中注册的ODBC驱动:
- 64位驱动查看:[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI]
- 32位驱动查看:[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI]
人工注册或修改ODBC驱动¶
人工注册的方式本质是修改注册表,通过编写vbs脚本并执行,可以达到手工注册的目的,下面介绍注册OSCAR ODBC DRIVER和OSCAR ODBCW DRIVER驱动的方法,且注册后会自动生成odsn/odsnw的一个数据源。
- OSCAR ODBC DRIVER 驱动注册:
1). 将以下内容复制到stodbc.vbs文件中:
'天津神舟通用数据技术有限公司版权所有 (C) 2003-2021
'使用示例:
'安装:cscript odbc.vbs /Style:Install /FolderPath:c:\ShenTong\drivers\odbc\lib /DllName:OSCARODBC.dll /BIT:64
'卸载:cscript odbc.vbs /Style:UnInstall /DllName:OSCARODBC.dll /BIT:64
'参数列表:
'参数style:Install标识安装、UnInstall标识卸载,
'参数DllName:odbc连接库的dll文件名称,
'参数FolderPath:dll文件存放的路径
'参数BIT:使用的系统位数信息
Dim ODBC_WScript,objArgs
Dim Style,DllName,FolderPath
Dim RegPath,DirPath
Dim Exists,CreateOdsn,DRIVER
Dim Temp
WScript.Echo "天津神舟通用数据技术有限公司"
Set objArgs = WScript.Arguments
Set ODBC_WScript=WScript.CreateObject("WScript.Shell")
Style=WScript.Arguments.Named.Item("Style")
BIT=WScript.Arguments.Named.Item("BIT")
DRIVER="OSCAR ODBC DRIVER"
if BIT="" then '默认64位
BIT="64"
end if
if BIT="32" then '32位
DirPath="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\"
else if BIT = "64" then'64位
DirPath="HKEY_LOCAL_MACHINE\SOFTWARE\"
else
WScript.Echo "无效的BIT参数,请使用64/32"
WScript.quit
end if
end if
On Error Resume Next
if Style="Install" then '安装驱动
FolderPath=WScript.Arguments.Named.Item("FolderPath")
DllName=WScript.Arguments.Named.Item("DllName")
RegPath = DirPath+"ODBC\ODBCINST.INI\ODBC Drivers\"
ODBC_WScript.RegWrite RegPath+DRIVER,"Installed"
if Err.Number <> 0 then
WScript.Echo "Error!错误信息:"
WScript.Echo Err.description
end if
RegPath=DirPath+"ODBC\ODBCINST.INI\"+DRIVER+"\"
ODBC_WScript.RegWrite RegPath,Default
ODBC_WScript.RegWrite RegPath+"Setup",FolderPath+"\"+DllName
ODBC_WScript.RegWrite RegPath+"Driver",FolderPath+"\"+DllName
ODBC_WScript.RegWrite RegPath+"UsageCount",1,"REG_DWORD"
WScript.Echo "安装"+BIT+"位神通数据库ODBC驱动成功!"
else '卸载驱动
On Error Resume Next
if Style="UnInstall" then
ODBC_WScript.RegRead (DirPath+"ODBC\ODBCINST.INI\ODBC Drivers\"+DRIVER)
if Err.Number <> 0 then
WScript.Echo "没有安装"+BIT+"位神通数据ODBCW驱动!"
else
RegPath=DirPath+"ODBC\ODBCINST.INI\ODBC Drivers\"
ODBC_WScript.RegDelete RegPath+DRIVER
RegPath=DirPath+"ODBC\ODBCINST.INI\"+DRIVER+"\"
ODBC_WScript.RegDelete RegPath
WScript.Echo "卸载"+BIT+"位神通数据库ODBC驱动成功!"
end if
else
WScript.Echo "无效参数!"
end if
end if
2). 执行stodbc.vbs文件:
注册: cscript stodbc.vbs /Style:Install /FolderPath:c:\ShenTong\odbc\lib /DllName:OSCARODBC.dll /BIT:64
卸载: cscript stodbc.vbs /Style:UnInstall /DllName:OSCARODBC.dll /BIT:64
- OSCAR ODBCW DRIVER 驱动注册:
1). 将以下内容复制到stodbcw.vbs文件中:
'天津神舟通用数据技术有限公司版权所有 (C) 2003-2021
'使用示例:
'安装:cscript odbcw.vbs /Style:Install /FolderPath:c:\ShenTong\drivers\odbc\lib /DllName:OSCARODBCW.dll /BIT:64
'卸载:cscript odbcw.vbs /Style:UnInstall /DllName:OSCARODBCW.dll /BIT:64
'参数列表:
'参数style:Install标识安装、UnInstall标识卸载,
'参数DllName:odbc连接库的dll文件名称,
'参数FolderPath:dll文件存放的路径
'参数BIT:使用的系统位数信息
Dim ODBC_WScript,objArgs
Dim Style,DllName,FolderPath
Dim RegPath,DirPath,OscarName
Dim Exists,CreateOdsn,DRIVER
Dim Temp
WScript.Echo "天津神舟通用数据技术有限公司"
Set objArgs = WScript.Arguments
Set ODBC_WScript=WScript.CreateObject("WScript.Shell")
Style=WScript.Arguments.Named.Item("Style")
BIT=WScript.Arguments.Named.Item("BIT")
DRIVER="OSCAR ODBCW DRIVER"
if BIT="" then '默认64位'
BIT="64"
end if
if BIT="32" then '32位
DirPath="HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\"
OscarName="odsn32w"
else if BIT="64" then'64位
DirPath="HKEY_LOCAL_MACHINE\SOFTWARE\"
OscarName="odsnw"
else
WScript.Echo "无效的BIT参数,请使用64/32"
WScript.quit
end if
end if
On Error Resume Next
if Style="Install" then '安装驱动
WScript.Echo "开始安装"+BIT+"位odbcw驱动"
FolderPath=WScript.Arguments.Named.Item("FolderPath")
DllName=WScript.Arguments.Named.Item("DllName")
CreateOdsn=WScript.Arguments.Named.Item("CreateOdsn")
if CreateOdsn="" then '默认不创建数据源
CreateOdsn="0"
else if CreateOdsn<>1 and CreateOdsn<>0 then
WScript.Echo "无效的CreateOdsn参数,输入1代表创建默认数据源,0代表不创建默认数据源"
WScript.quit
end if
end if
RegPath=DirPath+"ODBC\ODBCINST.INI\ODBC Drivers\"
ODBC_WScript.RegWrite RegPath+DRIVER,"Installed"
if Err.Number <> 0 then
WScript.Echo "Error!错误信息:"
WScript.Echo Err.description
end if
RegPath=DirPath+"ODBC\ODBCINST.INI\"+DRIVER+"\"
ODBC_WScript.RegWrite RegPath,Default
ODBC_WScript.RegWrite RegPath+"Setup",FolderPath+"\"+DllName
ODBC_WScript.RegWrite RegPath+"Driver",FolderPath+"\"+DllName
ODBC_WScript.RegWrite RegPath+"UsageCount",1,"REG_DWORD"
WScript.Echo "安装"+BIT+"位神通数据库odbcw驱动成功!"
else '卸载驱动
On Error Resume Next
if Style="UnInstall" then
ODBC_WScript.RegRead (DirPath+"ODBC\ODBCINST.INI\ODBC Drivers\"+DRIVER)
if Err.Number <> 0 then
WScript.Echo "没有安装"+BIT+"位神通数据ODBCW驱动!"
else
RegPath=DirPath+"ODBC\ODBCINST.INI\ODBC Drivers\"
ODBC_WScript.RegDelete RegPath+DRIVER
RegPath=DirPath+"ODBC\ODBCINST.INI\"+DRIVER+"\"
ODBC_WScript.RegDelete RegPath
WScript.Echo "卸载"+BIT+"位神通数据库ODBCW驱动成功!"
end if
else
WScript.Echo "无效参数!"
end if
end if
2). 执行stodbcw.vbs文件:
注册: cscript stodbcw.vbs /Style:Install /FolderPath:c:\ShenTong\drivers\odbc\lib /DllName:OSCARODBCW.dll /BIT:64
卸载: cscript stodbcw.vbs /Style:UnInstall /DllName:OSCARODBCW.dll /BIT:64
备注:odbc库文件可以单独注册,但odbc相关的库文件(ssl库等)必须都存在,/FolderPath参数给定的路径必须是odbc文件锁存在的路径。