hur.cn - 华软网

 热门搜索

请教自动配置SQL SERVER 2000数据源问题??

  作者:未知    来源:网络    更新时间:2018/1/1
请问数据源的手动配置在系统文件和注册表中都有哪些表现啊?如果我要用程序自动配置都需要修改哪些部分呢?看了一些这方面的贴子,没有具体讲解的,谁能帮帮我啊?
------华软网友回答------
这里是我之前用的用程序写入数据源明的程序,连access的,应该能帮上你,程序测试过,可以正常运行的。
Int Answer,Answer1,Answer2,Answer3,Answer4,Answer5,Answer6,Answer7,Answer8,Answer9,Answer10,ansApp 
string ls_driver, ls_driver1,ls_driver2,ls_start,ls_location2000,ls_LocationXP,ls_Location98,db_path,db_name,ODBCStr,ds_name
//设置驱动程序路径
ls_Location2000 = "C:\WINNT\System32\"
ls_LocationXP = "C:\windows\System32\"
ls_Location98 = "C:\windows\System\"
//判断Access的驱动程序是否正确安装
ls_Driver=ls_Location2000+"odbcjt32.dll"
ls_Driver1 = ls_LocationXP + "odbcjt32.dll"
ls_Driver2 = ls_Location98 + "odbcjt32.dll"
//IF Not FileExists(ls_Driver) and Not FileExists(ls_Driver1) and Not FileExists(ls_Driver2)  Then
//  MessageBox("错误!","系统中没有安装Access的驱动程序,系统将终止运行!",StopSign!)
//  Return
//End IF
if FileExists(ls_Driver) then
ls_Driver = ls_Driver
elseif FileExists(ls_Driver1) then
ls_Driver = ls_Driver1
elseif FileExists(ls_Driver2) then
ls_Driver = ls_Driver2
else
  MessageBox("错误!","系统中没有安装Access的驱动程序,系统将终止运行!",StopSign!)
  Return
end if

//设置ODBC\ODBCINST.INI\ODBC DRIVERS
Answer=RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI"+&
"\ODBC Drivers","Driver do Microsoft Access(*.mdb)",RegString!,"Installed")
IF Answer = -1 Then
MessageBox("错误!","应用程序无法设置ODBC\ODBCINST.INI\"+&
"ODBC DRIVERS,系统将终止运行",Information!)
Return
End if
//设置ODBC\ODBCINST.INI\
Answer1=RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST."+&
"INI\Driver do Microsoft Access(*.mdb)","Driver", RegString!,ls_Driver)
Answer2=RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST."+&
"INI\Driver do Microsoft Access(*.mdb)","Setup", RegString!,ls_Driver)
Answer3=RegistrySet("HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST."+&
"INI\Driver do Microsoft Access(*.mdb)","FileExtns", RegString!,"*.mdb")

IF Answer1 = -1 OR Answer2 = -1 OR Answer3 = -1 Then
MessageBox("错误!","应用程序无法设置ODBC\ODBCINST.INI,"+&
"系统将终止运行!",Information!)//程序中不折行
Return
End if

db_path = "d:\capital\data\fund.mdb"  //设置数据库路径及文件名
db_name = "fund"               //设置数据库名称
ds_name = "capital_pb8"                     //设置ODBC数据源名
//设置ODBC DATA SOURCE名称
Answer=RegistrySet("HKEY_current_user\Software\ODBC\ODBC.INI\"+&
"ODBC Data Sources",ds_name, RegString!, "Driver do Microsoft Access(*.mdb)")

IF Answer = -1 Then
   MessageBox("错误!","应用程序无法设置ODBC DATA SOURCE名称,"+&
"系统将终止运行!",Information!) //程序中不折行
   Return
End if
//设置ODBC.ini细节
Answer1=RegistrySet("HKEY_current_user\Software\ODBC\ODBC.INI\" +ds_name,&
"driver", Regstring!, ls_Driver)

Answer2=RegistrySet("HKEY_current_user\Software\ODBC\ODBC.INI\" +ds_name,&
"DBQ", Regstring!, db_path)

Answer3=RegistrySet("HKEY_current_user\Software\ODBC\ODBC.INI\" +ds_name,&
"FIL", Regstring!, "MS Access;")
Answer4=RegistrySet("HKEY_current_user\Software\ODBC\ODBC.INI\" +ds_name,&
"DriverId", ReguLong!,25 )
Answer5=RegistrySet("HKEY_current_user\Software\ODBC\ODBC.INI\" +ds_name+"\Engines",&
"", Regstring!, "")
Answer6=RegistrySet("HKEY_current_user\Software\ODBC\ODBC.INI\" +ds_name+"\Engines\Jet",&
"MaxBufferSize", ReguLong!,2048)
Answer7=RegistrySet("HKEY_current_user\Software\ODBC\ODBC.INI\" +ds_name+"\Engines\Jet",&
"PageTimeOut", ReguLong!,5)
Answer8=RegistrySet("HKEY_current_user\Software\ODBC\ODBC.INI\" +ds_name+"\Engines\Jet",&
"Threads", ReguLong!,3)
Answer8=RegistrySet("HKEY_current_user\Software\ODBC\ODBC.INI\" +ds_name+"\Engines\Jet",&
"UserCommitSync", Regstring!,"Yes")
IF Answer1 = -1 OR Answer2 = -1 OR Answer3 = -1 OR &
Answer4 = -1  Then
MessageBox("错误!","应用程序无法设置ODBC.INI细节,"+&
"系统将终止运行!",Information!)
Return
End if
odbcstr='dsn=' + ds_name +''
// Profile Capital_pb7
SQLCA.DBMS = "ODBC"
SQLCA.AutoCommit = False
SQLCA.DBParm = "ConnectString='" + odbcstr+";UID=admin;PWD='"
connect using sqlca;
IF SQLCA.SQLCode = -1 THEN 
MessageBox("连接数据库", "不能连接到数据库上,请检查。"+&
"~r~n出错的详细原因为:"+SQLCA.SQLErrText)
END IF      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。