对于动态数据源的配置_第1页
对于动态数据源的配置_第2页
对于动态数据源的配置_第3页
对于动态数据源的配置_第4页
对于动态数据源的配置_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、对于动态数据源的配置,可以通过直接操作注册表的方法,也可以通过API完成。相对来讲API是首选,本篇将对上几篇的整理过程中收集到的API的说明及实例进行整理。所列内容都来自网络,并将在后面给出来源网址!函数说明(SQLConfigDataSource   函数被用于动态地添加、修改或删除数据源,该函数使用下列关键字。   关键字描述CHARACTERSET:    对于Text驱动程序,OEM或ANSI。    COLLATINGSEQUENCE:    

2、   字段排序的顺序。当使用dBASE驱动程序时,这个序列可以是: ASCII (缺省)或International.当使用Paradox驱动程序时,这个序列可以是: ASCII (缺省),International,Swedish-Finnish,或Norwegian-Danish.这将设置与“设置”对话框的“排序顺序”控件相同的选项。 COLNAMEHEADER:       对于Text驱动程序,指出数据的第一个记录是否将指定列名。其值为TRUE或FALSE。COMPACT_DB:

3、0;      对于Microsoft Access data compaction驱动程序,在数据库文件上执行数据库压缩。有如下的格式:COMPACT_DB=<路径名><可选排序顺序><可选ENCRYPT关键字>.  CREATE_DB:       对于Microsoft Access驱动程序,创建数据库文件。有如下的格式:CREATE_DB=<路径名><可选排序顺序><可选ENCRYPT关键字&

4、gt;,在这里路径名是一个Microsoft Access数据库的完整路径。如果路径名指到现有数据库,则将返回错误。排序顺序如“添加数据库”对话框中所设置,且在按下“Microsoft Access安装”对话框的“创建”按钮时显示此对话框会。如果没有指定排序顺序,则使用General。当使用CREATE_DB关键字时,如果要创建的Microsoft Access数据库的路径名称包含一个或一个以上的空格,则必须将整个路径名称用双引号括起来,如下列示例显示:"C:PROGRAM FILESCOMMON FILESMyAccess.mdb""C:PROGRAM FILE

5、SAccess2.mdb" CREATE_DB=C:TEMPtest.mdb(不需要双引号)  CREATE_SYSDB:       对于Microsoft Access驱动程序,创建系统数据库文件。有如下的格式:CREATE_SYSDB=<路径名>><可选排序顺序>,在这里路径名是一个Microsoft Access数据库的完整路径。如果路径名指到现有数据库,则将返回错误。排序顺序如“添加数据库”对话框中所设置,且在按下“Microsoft Access安装”对话框的“创

6、建”按钮时显示此对话框会。如果没有指定排序顺序,则使用General。CREATE_V2DB:       对于Microsoft Access驱动程序,创建与Microsoft Access 2.0兼容的数据库文件。有如下的格式:CREATE_V2DB=<路径名>><可选排序顺序>,在这里路径名是一个Microsoft Access数据库的完整路径。如果路径名指到现有数据库,则将返回错误。排序顺序如“添加数据库”对话框中所设置,且在按下“Microsoft Access安装”对话框的“创建”按钮时显示此

7、对话框会。如果没有指定排序顺序,则使用General。当使用CREATE_V2DB关键字时,如果要创建的Microsoft Access数据库的路径名称包含一个或一个以上的空格,则必须用双引号将整个路径名称括起来,如下列示例显示:"C:PROGRAM FILESCOMMON FILESMyAccess.mdb""C:PROGRAM FILESAccess2.mdb"CREATE_V2DB=C:TEMPtest.mdb(不需要双引号)    DBQ    对于Microsoft Access或Pa

8、radox驱动程序,数据库文件的名称。对于Microsoft Excel驱动程序,当访问Microsoft Excel5.0、7.0或97的文件时,工作簿文件的名称。这就设置了与“设置”对话框的“数据库”控件相同的选项。    DEFAULTDIR:       对于数据库文件(Microsoft Access驱动程序)或目录 (dBASE,Microsoft Excel,Paradox,或Text驱动程序)的路径指定。这就设置了与“设置”对话框的“选择目录”控件,或对于Microsoft Excel,“

9、设置”对话框的“选择工作簿”控件相同的选项。  DELETED:       对于dBASE驱动程序,指定被标记为已删除的行是否可以被检索到或被放置。如果设置成1,则不显示被删除的行;如果设置成0,则把已删除的行当作未删除的行。默认值是不选定。这就设置了与“设置”对话框的“显示删除列”控件相同的选项。DESCRIPTION:       数据源中数据的描述。这就设置了与“设置”对话框的“描述”控件相同的选项。    DRIVE

10、R:       指向驱动程序DLL的路径说明。   DRIVERID:       对于驱动程序的整型标识符。      25   (Microsoft Access)       21   (dBASE III)         277   (dBASE IV)     &#

11、160;   533   (dBASE 5.0)         534   (Microsoft Excel 3.0)         278   (Microsoft Excel 4.0)         22   (Microsoft Excel 5.0/7.0)         790   (Microsoft Excel 97)

12、         26   (Paradox 3.x)         282   (Paradox 4.x)         538   (Paradox 5.x)         27   (Text)    EXCLUSIVE:       

13、决定数据库将以独占方式(一次只有一个用户访问)或分享方式(一次有多个用户访问)打开。可以是TRUE(独占方式)或FALSE(分享方式)。(这不会应用到Microsoft Excel或Text驱动程序)。这就设置了与“设置”对话框的“独占方式”控件相同的选项。    EXTENSIONS:       列出在数据源上“文本文件”的文件名的文件扩展名。这就设置了与“设置”对话框的“文件类型”控件相同的选项。   FIL:     

14、  文件类型        MS Access for Microsoft Access         dBase III,dBase IV,or dBase 5         Excel 3.0,4.0,5.0,7.0,or 97 for Microsoft Excel        Paradox 3.x,4.x,or 5.x         Text.  F

15、ILETYPE:     对于Text驱动程序(文本)的文件类型。    FIRSTROWHASNAMES:      对于Microsoft Excel驱动程序,指出范围中第一行的单元格包含了表的列名 (1)还是没有包含 (0)。  FORMAT:      对于Text驱动程序,可以是FIXEDLENGTH、TABDELIMITED、CSVDELIMITED(用逗点分隔)或DELIMITED ()(用括号中指定的特殊字符分隔)。特殊

16、字符是长度为1的字符,并且可以是字符、十进制或十六进制格式。  IMPLICITCOMMITSYNC    决定Microsoft Access驱动程序是否将异步执行内部或隐含提交。最初将此值设置成“是”Microsoft Access驱动程序将等待提交要完成的内部/隐含事务。不应轻率更改此选项的值。有关此选项的更多信息,参见Microsoft Jet数据库引擎程序员指南。这就设置了与“设置”对话框的ImplicitCommitSync控件相同的选项。  MAXBUFFERSIZE:     

17、Microsoft Access用来与磁盘传送数据的内部缓冲区大小,以KB为单位。缺省缓冲区大小是512K(显示为512)。可用任何被256整除的整型值。这就设置了与“设置”对话框的“缓冲区大小”控件相同的选项。     MAXSCANROWS 对于Microsoft Access、Microsoft Excel或Text驱动程序,在根据现有数据来设置列的数据类型时,所扫描的行数。可以输入由1到16的数字作为扫描的行数。默认值为8;如果将它设置成0,则扫描全部行。(越界的数字将返回错误)。对于Text驱动程序,可输入由1到32767的数字为扫描的行数;不过,默认值

18、总是25。(越界的数字将返回错误)。这就设置了与“设置”对话框的“扫描”控件相同的选项。   PAGETIMEOUT    指定一页(如果不使用)在删除之前保持在缓冲区中的时间的长短,以十分之一秒为单位。对于Microsoft Access驱动程序,默认值是5个十分之一秒(0.5秒)。对于dBASE和Paradox驱动程序,缺省值是1秒的600/10 (60秒).注意,此选项应用于所有使用ODBC驱动程序的数据源。这就设置了与“设置”对话框的“页超时”控件相同的选项。PARADOXNETPATH:    

19、  对于Paradox驱动程序,包含Paradox锁定数据库的目录的完整路径,因为它包含PDOXUSRS.net文件 (Paradox 4.x)或PARADOX.net文件 (Paradox 5.x)。如果其中一个文件未包含在目录中,Paradox驱动程序将创建一个。关于这些文件的详细信息,请参阅Paradox文档。在可以选定网络目录之前,必须输入Paradox用户名称。这就设置了与Paradox“设置”对话框的“选定网络目录”控件相同的选项。    PARADOXNETSTYLE    对于Paradox驱动程序,当存取P

20、aradox数据时使用的网络存取方式是:对于Paradox 3.x用“3.x”或对于Paradox 4.x或5.x 用“4.x”。如果版本是Paradox 4.x或5.x,可以设置成“3.x”或“4.x”;如果版本是Paradox 3.x,样式必须是“3.x”。这就设置了与Paradox“设置”对话框的“网络样式”控件相同的选项。    PARADOXUSERNAME:       对于Paradox驱动程序,Paradox用户名称。这就设置了与Paradox“设置”对话框的“用户名称”控件相同的选项。&

21、#160;PWD:      对于Microsoft Access或Paradox驱动程序,密码。对于Paradox驱动程序,这是可选的关键字,而且驱动程序不会将它写到文件中。用它调用SQLDriverConnect,与有密码安全的Paradox文件相对。  READONLY:       TRUE使文件为只读;FALSE使文件不是只读。这就设置了与“设置”对话框的“只读”控件相同的选项。    REPAIR_DB:  

22、60;    对于Microsoft Access repairs a database驱动程序,在提交进程期间失败而损害的数据库修复。  STATISTICS:       对于dBASE驱动程序,确定表大小统计是否是近似的。注意,此选项应用于所有使用ODBC驱动程序的数据源。这就设置了与“设置”对话框的“近似(行)计数”控件相同的选项。   SYSTEMDB:      对于Microsoft Access驱动程

23、序,指向系统数据库文件的路径规范。这就设置了与“设置”对话框的“系统信息库”控件相同的选项。THREADS:      使用引擎的背景线程数。对于Microsoft Access驱动程序,默认值为3,但可以更改。对于dBASE,Microsoft Excel,Paradox,和Text驱动程序,这个值是3,并且不能被改变。这就设置了与“设置”对话框的“线程”控件相同的选项。   UID:       对于Microsoft Access驱动程序,用于登录的用户ID名

24、称。    USERCOMMITSYNC:       决定Microsoft Access驱动程序是否将异步执行用户定义的事务。最初将此值设置成 “Yes”,表示Microsoft Access驱动程序将等待提交已完成的用户定义的事务。不应轻率更改此选项的值。有关此选项的更多信息,参见Microsoft Jet数据库引擎程序员指南。这就设置了与“设置”对话框的UserCommitSync控件相同的选项。函数原型:SQLConfigDataSource(hwndParent: Integer; fRequ

25、est: Integer;lpszDriverString: String; lpszAttributes: String): Integer;调用时的声明:function SQLConfigDataSource(hwndParent: Integer; fRequest: Integer;lpszDriverString: String; lpszAttributes: String): Integer;stdcall;external ODBCCP32.DLL;一, Access创建语法, if(SQLConfigDataSource(m_pMainWnd->m_hWnd,ODBC

26、_ADD_DSN,"Microsoft Access Driver (*.mdb)",   "DSN=Personnel0"   "DBQ=C:My Documentsdq.mdb0"   "DefaultDir=C:My Documents0"   "Driver=Microsoft Access Driver (*.mdb)0"   "

27、;DriverId=7900"   "Deleted=10"   "Description=兵营房屋信息ODBC数据源0"   "FileType=Access0"   "JetIniPath=odbcddp.ini0"   "MaxScanRows=200"   "MaxBufferSize=51

28、2"   "ImplicitCommitSync=No0"   "UserCommitSync=No0"   "Exclusive=10"/独占   "ReadOnly=10"/只读   "UID=Smith0"   "SafeTransactions=00"  

29、60;"PWD=Sesame0"   "DATABASE=dq0"   "ExtendedAnsiSQL=10"   "Statistics=00"   "0")   AfxMessageBox("创建成功!");   else   AfxMessageBox(&quo

30、t;取消创建或创建失败!");   二,SQL创建语法(SQLConfigDataSource(0, ODBC_ADD_SYS_DSN,SQL Server,DSN=Record_ODBC+ chr(0) +Server=(local)+ chr(0) +Database=master+ chr(0) +Description=DragonPC SQLServer ODBC Source+ chr(0);DSN:你的ODBC数据源名称。Server:你的数据库服务器名称,使用(local)指的是本地计算机安装的数据库。注:最新的SQL Server 20

31、00支持一台计算机运行多个SQL Server服务,这个时候你需要指定SqlSever的InstanceName。Address:指定SQL Server服务器的网络IP地址。Database:指定默认数据库名称。Language:指定默认语言。Description:备注信息。三,DBF创建语法(SQLConfigDataSource(0, ODBC_ADD_SYS_DSN, Microsoft Visual FoxPro Driver + CHR(0), dsn=SourceTable + CHR(0) + BackgroundFetch=Yes + CHR(0) + Descriptio

32、n=descripcion de la conexion + CHR(0) + Exclusive=No + CHR(0) +sourcedbstr + CHR(0) +Sourcetype=DBF);四,MySQL创建语法及参数说明(1、用Delphi连接MySQL数据库,一般推荐两种方式:dbExpress,ODBC。dbExpress的效率较高,但对于本地客户端数据集比较麻烦。ODBC非常通用,如果用ODBC作为数据库访问层,后台数据库可以很容易切换,而代码基本不用修改。我们假设用ODBC连接MySQL数据库,首先要下载MySQL的ODBC驱动,到MySQL的官方网站就可以下载,然后安装即可。2、在程序中一般要根据用户的配置自动配置ODBC,而不是让用户打开ODBC的配置窗口进行手工配置。ODBC的配置信息一般写在注册表中: HKEY_LOCAL_MACHINESOFTWAREODBCODBC.INIODBC Data Sources。我们可以通过写注册表的方法来建立ODBC连接,但操作注册表还算麻烦;为了简单,采用ODBC驱动提供的配置API函数:SQLConfigDataSource。首先在Delphi单元中导入SQLConfigDataSource的声明:function SQLConfigDataSource(hwndParent

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论