<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
MySQL利用MyODBC程序为ODBC提供支持。
16.1MyODBC支持的
MyODBC是在Windows95和WindowsNT上的一个32位ODBC(2.50)level0驱动程序。我们希望谁能将它移植到Windows3.x。
MyODBC已经用Acess、Admndemo.exe、Builder、CenturaTeamDeveloper(早先是GuptaSQL/Windows)、ColdFusion(在和用ServerPack5的NT上)、CrystalReports、DataJunction、Notes4.5/4.6、SBSS、PerlDBD-ODBC、、Powerbuilder、Powerdesigner32位、VC++和。
如果你听说有任何其他的应用程序用MyODBC一起工作,请把它寄到!
大多数程序应该可用MyODBC工作,但对下面列出的每一个,我们自己测试了它或从它运行的一些用户得到了证实:
程序
说明
为使Access工作:你应该在桌中有主键。你应该在所有你想要能被修改的表中有一个时间戳记。仅使用双精度浮点数的字段。当用单精度浮点数进行比较时,Access失败。当与 MySQL连接时,设置“Returnmatchingrows”(返回匹配的行)选项域。在NT上的Access将报告
列为
。如果你想要有
列,你应该用
把列改成
。Access不能总是正确地处理
列。如果你对此有一个问题,把列改为
。在一些情况下,Access可以产生不合法的SQL查询,而
MySQL不能理解。你可以通过从Access菜单
来修正它。
DataJunction 你必须改变它来输出 而非
,因为它以能引起
MySQL困惑的方式导出后者。
Execl 工作。一些建议:如果你对日期有问题,试着使用 函数作为字符串选择他们。例如:
selectCONCAT(rise_time),CONCAT(set_time)fromsunrise_sunset;
这种方式作为字符串检索出的值应该被97识别为时间值,例子中的目的是欺骗ODBC认为列是“字符串类型”。没有,ODBC知道列是时间类型,而Excel不理解它。注意这是Excel的一个错误,因为它自动将一个字符串转换为一个时间。如果数据源是一个文本文件,这问题将很大,但是当数据源是对每列报告准确类型的一个ODBC连接时,只是有点傻。
ODBCadmin
为 ODBC的测试程序。
你必须使用DBE3.2或更新。当与 MySQL连接时,设置“Don'toptimizecolumnwidth”(不优化列宽度)选项域。另外,有一些潜在有用的delphi代码安装一个
ODBC入口和针对My
ODBC的一个BDE的入口(BDE入口需要一个BDEAliasEditor,可以到DelphiSuperPage上免费拥有):(感谢BryanBrunton)
fReg:=TRegistry.Create;fReg.OpenKey('/Software/ODBC/ODBC.INI/DocumentsFab',True);fReg.WriteString('Database','Documents');fReg.WriteString('Description','');fReg.WriteString('Driver','C:/WINNT/System32/myODBC.dll');fReg.WriteString('Flag','1');fReg.WriteString('Password','');fReg.WriteString('Port','');fReg.WriteString('Server','xmark');fReg.WriteString('User','winuser');fReg.OpenKey('/Software/ODBC/ODBC.INI/ODBCDataSources',True);fReg.WriteString('DocumentsFab','MySQL');fReg.CloseKey;fReg.Free;Memo1.Lines.Add('DATABASENAME=');Memo1.Lines.Add('USERNAME=');Memo1.Lines.Add('ODBCDSN=DocumentsFab');Memo1.Lines.Add('OPENMODE=READ/WRITE');Memo1.Lines.Add('BATCHCOUNT=200');Memo1.Lines.Add('LANGDRIVER=');Memo1.Lines.Add('MAXROWS=-1');Memo1.Lines.Add('SCHEMACACHEDIR=');Memo1.Lines.Add('SCHEMACACHESIZE=8');Memo1.Lines.Add('SCHEMACACHETIME=-1');Memo1.Lines.Add('SQLPASSTHRUMODE=SHAREDAUTOCOMMIT');Memo1.Lines.Add('SQLQRYMODE=');Memo1.Lines.Add('ENABLESCHEMACACHE=FALSE');Memo1.Lines.Add('ENABLEBCD=FALSE');Memo1.Lines.Add('ROWSETSIZE=20');Memo1.Lines.Add('BLOBSTOCACHE=64');Memo1.Lines.Add('BLOBSIZE=32');AliasEditor.Add('DocumentsFab','MySQL',Memo1.Lines);1 <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>