用sqlanywhere数据库,用odbc连接,在计算机上必须安装sqlanywhere吗??

xingxing 2001-07-19 01:53:40
怎么能够让计算机具有sqlanywhere的服务。帮忙。
为什么在程序中自己建立odbc连接数据库的时候,出现提示选择数据库呢???是不是必须在连接的时候要指定dbparm中的数据库,能不能不指定?帮忙!
...全文
360 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tante呃呃 2001-12-17
  • 打赏
  • 举报
回复
yesyes
daluobo 2001-10-30
  • 打赏
  • 举报
回复
关注
blackwh 2001-07-20
  • 打赏
  • 举报
回复
我自己参考几个朋友的东西,写了是这样的f_odbc() return integer::::大家不要说我抄袭啊

Int answer,answer1,answer2,answer3,answer4,answer5,answer6,answer7

answer=RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBC DRIVERS','Sybase SQL Anywhere 5.0',RegString!,'Installed')

IF answer=-1 THEN
Messagebox("错误","应用程序无法设置ODBC DRIVERS,系统将终止运行",StopSign!)
RETURN 0
END IF
//***********
string ls_path,ls_start,ls_driver,ls_databasefile,ls_ini,ls_trans,ls_dbeng
if Handle(GetApplication()) <> 0 then
//运行状态
//取路径
ls_path = Space (128)
GetModuleFileNameA (Handle (GetApplication ()), ls_path, 128)
// 调用此函数需要声明以下外部函数
// Get Runtime Path
// Function uLong GetModuleFileNameA(long hinstModule, Ref String lpszPath, uLong cchPath) Library "kernel32.dll"
//

// 该函数返回的是运行文件名(所以必须判断运行模式),需要自己找出路径
integer i
for i = len(ls_path) to 1 step -1
if mid(ls_path,i,1) = '\' then exit


next
ls_path = left(ls_path,i - 1)
ls_path = ls_path + '\'

end if
//messagebox('',ls_path)
ls_driver = ls_path + "WOD50T.DLL"
ls_trans = ls_path + "WTR50T.DLL"
ls_dbeng = ls_path + "dbeng50.exe"
ls_Start = ls_path + "dbeng50.exe -d -Q -c512"
ls_DatabaseFile = ls_path + "sys1.db"
//*************
answer1=RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\Sybase SQL Anywhere 5.0','CPTimeout',RegString!,'not pooled')
answer2=RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\Sybase SQL Anywhere 5.0','Driver',RegString!,ls_driver)
answer3=RegistrySet('HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\Sybase SQL Anywhere 5.0','Setup',RegString!,ls_driver)

IF answer1=-1 OR answer2=-1 OR answer3=-1 THEN
Messagebox("错误","应用程序无法设置ODBCINST.INI,系统将终止运行",StopSign!)
RETURN 0
END IF

answer=RegistrySet('HKEY_current_USER\Software\ODBC\ODBC.INI\ODBC Data Sources','sys1',RegString!,'Sybase SQL Anywhere 5.0')
IF answer=-1 THEN
Messagebox("错误","应用程序无法设置ODBC DATA SOURCE名称,系统将终止运行!",StopSign!)
RETURN 0
END IF

answer1=RegistrySet('HKEY_current_USER\software\odbc\odbc.ini\sys1','driver',RegString!,ls_driver)
answer2=RegistrySet('HKEY_current_USER\software\odbc\odbc.ini\sys1','start',RegString!,ls_Start)
answer3=RegistrySet('HKEY_current_USER\software\odbc\odbc.ini\sys1','autostop',RegString!,'yes')
answer4=RegistrySet('HKEY_current_USER\software\odbc\odbc.ini\sys1','DataBaseFile',RegString!,ls_DatabaseFile)
answer5=RegistrySet('HKEY_current_USER\software\odbc\odbc.ini\sys1','DataBaseName',RegString!,'sys1')
answer6=RegistrySet('HKEY_current_USER\software\odbc\odbc.ini\sys1','UID',RegString!,'dba')
answer7=RegistrySet('HKEY_current_USER\software\odbc\odbc.ini\sys1','PWD',RegString!,'sql')

IF answer1=-1 OR answer2=-1 OR answer3=-1 OR answer4=-1 OR answer5=-1 THEN
Messagebox('错误','应用程序无法设置ODBC.INI细节,系统将终止运行!',StopSign!)
RETURN 0
END IF


RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\sys1","Driver", RegString!, ls_driver)
RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\sys1","AutoStop", RegString!, "yes")
RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\sys1","DatabaseFile", RegString!, ls_databasefile)
RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\sys1","DatabaseName", RegString!, "sys1")
RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\sys1","Description", RegString!, "sys1")
RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\sys1","Driver", RegString!, "WOD50T.DLL")
RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\sys1","PWD", RegString!, "sql")
RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\sys1","Start", RegString!, ls_start)
RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\sys1","UID", RegString!, "dba")



RegistrySet( "HKEY_USERS\.DEFAULT\Software\ODBC\ODBC.INI\ODBC Data Sources","sys1", RegString!, "Sybase SQL Anywhere 5.0")
RegistrySet( "HKEY_USERS\.DEFAULT\Software\ODBC\ODBC.INI\sys1","Driver", RegString!, ls_driver)
RegistrySet( "HKEY_USERS\.DEFAULT\Software\ODBC\ODBC.INI\sys1","uid", RegString!, "dba")
RegistrySet( "HKEY_USERS\.DEFAULT\Software\ODBC\ODBC.INI\sys1","Start", RegString!, ls_start)
RegistrySet( "HKEY_USERS\.DEFAULT\Software\ODBC\ODBC.INI\sys1","DatabaseFile", RegString!, ls_databasefile)
RegistrySet( "HKEY_USERS\.DEFAULT\Software\ODBC\ODBC.INI\sys1","DatabaseName", RegString!, "sys1")
RegistrySet( "HKEY_USERS\.DEFAULT\Software\ODBC\ODBC.INI\sys1","AutoStop", RegString!, "yes")
RegistrySet( "HKEY_USERS\.DEFAULT\Software\ODBC\ODBC.INI\sys1","Description", RegString!, "sys1")
RegistrySet( "HKEY_USERS\.DEFAULT\Software\ODBC\ODBC.INI\sys1","PWD", RegString!, "sql")


RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Translators","Sybase SQL Anywhere 5.0 Translator", RegString!, "Installed")
RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Sybase SQL Anywhere 5.0 Translator","Driver", RegString!, ls_trans)
RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Sybase SQL Anywhere 5.0 Translator","Setup", RegString!, ls_trans)
RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Sybase SQL Anywhere 5.0 Translator","Translator", RegString!, ls_trans)


RegistrySet( "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\dbeng50.exe","path", RegString!, ls_path)
RegistrySet( "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\dbeng50.exe","", RegString!, ls_dbeng)

return 1
liulee 2001-07-19
  • 打赏
  • 举报
回复

就几个文件就可以了,大概三个。
需要收工设置ODBC引擎位置。
参考文章:
http://www.liulee.net/topics/oth_002.htm
blackwh 2001-07-19
  • 打赏
  • 举报
回复
http://www.pdriver.com/display.asp?key_id=1409
wangsw 2001-07-19
  • 打赏
  • 举报
回复
1,可以不装ANYWHERE,不过把它驱动起来,要用到ANYWHERE的文件!
2,必须指定数据库

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧