Vfp 如何動態創建 odbc 連接 Access 數據庫

unlist 2003-09-04 03:33:21
我目的是主這樣的
d:\scr.mdb
密碼:123
請問:在vfp如何動態創建 ODBC 連接d:\scr.mdb
謝謝
...全文
105 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
unlist 2003-09-06
  • 打赏
  • 举报
回复
多謝各位指點
To myyccynet
Thank you!
myyccynet 2003-09-05
  • 打赏
  • 举报
回复
DECLARE Integer SQLConfigDataSource in odbccp32.dll Integer, Integer, String, String
settings="DSN=foodmoney"+chr(0)+;
"Description=Newaccess Description"+chr(0)+;
"FILetype=MS Access"+chr(0)+;
"DBQ=&fmpath"+chr(0)+; &&此处的fmpath为绝对路径
"MaxScanRows=16"
* 注意: 如果在等号两边有空格, 该代码将不能工作.
YN=SQLConfigDataSource(0,1,"Microsoft Access Driver (*.mdb)",settings)
unlist 2003-09-05
  • 打赏
  • 举报
回复
To xiolig
ODBCDriver:"Microsoft Access Driver (*.mdb)"
我也測試過,可以建立odbcname但連接不上庫
xiolig 2003-09-04
  • 打赏
  • 举报
回复
其实不必查看ODBC.INI,控制面板中已经显示有了。
xiolig 2003-09-04
  • 打赏
  • 举报
回复
其实不必查看ODBC.INI,控制面板中已经显示有了。
xiolig 2003-09-04
  • 打赏
  • 举报
回复
代表所有 FOXER 谢谢你所提供的 API 调用。
我想关键的问题是要找到正确的 ODBCDriver:
"Microsoft Access Driver (*.mdb)"
我是通过在控制面板中手工建立DSN后,从ODBC.INI中得到的
我的测试环境:WIN2000 + OFFICE 2000 + VFP8
unlist 2003-09-04
  • 打赏
  • 举报
回复
這樣也未達到動態創建要求
我曾在此站發過一張貼,如何倉建動態連接SQL SERVER
一位網友給出代碼可以實現
但連接 Access 就不行了
代碼如下
Declare Integer SQLConfigDataSource In odbccp32 Integer, Integer, String, String
WindowHandle=0
ODBCDriver="SQL SERVER"
ODBCName="ASB"
ODBCDesc=""
ODBCServer="FYX"
ODBCDatabase="HANDBULB"
lreturn=SQLConfigDataSource(WindowHandle, 2, ODBCDriver, ;
'DSN=' + ODBCName + Chr(0) ;
+ 'Description=' + ODBCDesc + Chr(0) ;
+ 'Server=' + ODBCServer + Chr(0) ;
+ 'Database=' + ODBCDatabase + Chr(0))
If lreturn=0
lreturn=SQLConfigDataSource(WindowHandle, 1, ODBCDriver, ;
'DSN=' + ODBCName + Chr(0) ;
+ 'Description=' + ODBCDesc + Chr(0) ;
+ 'Server=' + ODBCServer + Chr(0) ;
+ 'Database=' + ODBCDatabase + Chr(0))
If lreturn=0
=MESSAGEBOX('創建失敗'')
RETURN
Endif
Endif

要建動態目的在于,在不同電腦使用時自動檢測ODBC是否有合適
ODBC DRIVER ,如果沒有程序自動建立
xiolig 2003-09-04
  • 打赏
  • 举报
回复
方法一:
gnConnHandle = SQLStringConnet("DSN=MS Access Database;DBQ=d:\scr.mdb;PWD=123")
方法二:
gnConnHandle = SQLConnect("MS Access Database","","123")
显然,这里没有明显地标示出所要打开的数据库,因此系统会提示选择数据库
如果数据库是固定的,也可通过控制面板创建专门的DSN来替换MS Access Database
unlist 2003-09-04
  • 打赏
  • 举报
回复
首先谢谢
问题出现在,我想动态连接
在本机上建一个0dbc 十分容易,
但将程序放到其他电脑上使用,又要建odbc
我目的是:
ab=sqlconnection('accessvfp','sa','123')
if ab<1
&&建odbc
endif
newfang 2003-09-04
  • 打赏
  • 举报
回复
在ODBC里面创建个连接,然后在CFP里面创建个远程视图,使用连接把远程视图和mdb连接起来
就可以,自己动手做一做,并不麻烦的。
newfang 2003-09-04
  • 打赏
  • 举报
回复
首先通过ODBC创建连接,然后在VFP中创建个远程视图,使用刚建的连接和mdb相连。
自己动手做一做就知道的,并不麻烦……

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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