以下是找到的在程序中建立ODBC数据源的程序的问答,挺好。
在程序中建立ODBC数据源的程序,,VF的,急需,谢了
楼主ruiruide(睿)2003-12-11 23:57:50 在 其他数据库开发 / VFP 提问

看了二三个例子,都是SQL   SERVE,或是DEPHI,  
  因为我是初学者,没看懂,  
   
  急需在VF程序中自动建立ODBC数据源的源程序,  
  用API函数SQLConfigDataSource函数中的参数  
  (lpszAttributes  
  字符型。以关键字组合形式的属性串,其中包含了要连接的数据库服务器名称、要建立的数据源名称、数据源描述等。该字符串因所使用的数据库驱动程序不同而有所不同。)  
   
  怎么写也写不上..  
   
  呜呜呜呜  
  问题点数:50、回复次数:7Top
1 楼zhongyj()回复于 2003-12-12 08:44:26 得分 0

#define     ODBC_ADD_DSN           1                               &&   Add   data   source  
  #define     ODBC_CONFIG_DSN     2                               &&   Configure   (edit)   data   source  
  #define     ODBC_REMOVE_DSN     3                               &&   Remove   data   source  
  #define     ODBC_ADD_SYS_DSN   4     &&   add   a   system   DSN  
  #define     ODBC_CONFIG_SYS_DSN 5     &&   Configure   a   system   DSN  
  #define     ODBC_REMOVE_SYS_DSN 6     &&   remove   a   system   DSN  
  declare   integer   SQLConfigDataSource   in   ODBCCP32.DLL   integer,integer,string   @   ,string   @  
  local   str1,str2  
   
  str1="SQL   Server"  
  str2="DSN=MyDSN"+chr(0)+"DESCRIPTION=SQLConfigDSN   Sample"+chr(0)+   ;  
  "SERVER=MySQL"+chr(0)+"ADDRESS=MyServer"+chr(0)+"NETWORK=dbmssocn"+chr(0)+   ;  
  "DATABASE=pubs"+chr(0)  
  ?SQLConfigDataSource(0,ODBC_ADD_SYS_DSN,@str1,@str2)  
  clear   dllsTop
2 楼ruiruide(睿)回复于 2003-12-12 22:52:54 得分 0

我要建立的ODBC数据源为VFP的DBF自由表???,怎么做,都怎么给参数.?Top
3 楼zhongyj()回复于 2003-12-13 09:48:37 得分 20

str1="Microsoft   Visual   FoxPro   Driver"  
  str2="DSN=Mydsn"   +   CHR(0)   +   "Description=MyDesc"   +   CHR(0)+"SourceType=DBC"+CHR(0)   +   "SourceDB=C:\temp.DBC"+   CHR(0)  
  ?SQLConfigDataSource(0,ODBC_ADD_SYS_DSN,@str1,@str2)  
  Top
4 楼ruiruide(睿)回复于 2003-12-14 00:32:16 得分 0

我想加的的自由表的ODBC,那sourcetype=table     对吗。  
   
  还有sourcedb=......是直接指到表吗?  
   
  非常感谢  
  !!!Top
5 楼epsonhan()回复于 2003-12-14 11:46:07 得分 0

这个问题很关键啊,谁能解答啊,我也碰到这个问题了!Top
6 楼zhongyj()回复于 2003-12-25 09:08:28 得分 20

#define     ODBC_ADD_DSN           1                               &&   Add   data   source  
  #define     ODBC_CONFIG_DSN     2                               &&   Configure   (edit)   data   source  
  #define     ODBC_REMOVE_DSN     3                               &&   Remove   data   source  
  #define     ODBC_ADD_SYS_DSN   4     &&   add   a   system   DSN  
  #define     ODBC_CONFIG_SYS_DSN 5     &&   Configure   a   system   DSN  
  #define     ODBC_REMOVE_SYS_DSN 6     &&   remove   a   system   DSN  
  declare   integer   SQLConfigDataSource   in   ODBCCP32.DLL   integer,integer,string   @   ,string   @  
  local   str1,str2  
   
  str1="Microsoft   Visual   FoxPro   Driver"  
  str2="DSN=Mydsn"   +   CHR(0)   +   "Description=MyDesc"   +   CHR(0)+"SourceType=DBF"+CHR(0)   +   "SourceDB=C:\temp\"+   CHR(0)  
  ?SQLConfigDataSource(0,ODBC_ADD_SYS_DSN,@str1,@str2)  
  clear   dlls  
  sqlhandle1=sqlconnect("Mydsn","","")  
  If   sqlhandle1<=0  
  Messagebox("error",16)  
  Endif  
  sqlexec(sqlhandle1,"select   *   from   table","temp")  
  brow  
  use  
  sqldisconnect(sqlhandle1)Top
7 楼yasur(西夏寒)回复于 2003-12-25 09:34:51 得分 10

用API建立ACCESS的ODBC链接    
  建立ODBC连接  
  DECLARE   Integer   SQLConfigDataSource   in   odbccp32.dll   Integer,   Integer,;      
                        String,   String        
                         
        settings="DSN=YASUR_ACC"+chr(0)+;  
                            "Description=Newacess   Description"+chr(0)+;      
                            "DBQ=F:\yasur\YASUR.mdb"                    
                                     
  ln=SQLConfigDataSource(0,3,"Microsoft   Access   Driver   (*.mdb)",settings)