作为DelphiXE2 DataSnap开发的私家锦囊,在此收集一些DataSnap开发有关的技巧及注意事项。有此是网站看到的,有些则是自已开发中遇到并总结出来的。
1、在布置ISAPI方式的服务器程序时
作为DelphiXE2 DataSnap开发的私家锦囊,在此收集一些DataSnap开发有关的技巧及注意事项。有此是网站看到的,有些则是自已开发中遇到并总结出来的。
1、在布置ISAPI方式的服务器程序时,要“允许”“所有未知ISAPI扩展”的Web服务扩展,并且还要重启IIS服务才生效。
2、ISAPI服务端需要将dbxmss.dll放到system32目录下,放在ISAPI DLL目录也会提示找不到dbxmss.dll!
3、客户端只需要EXE以及libeay32.dll与ssleay32.dll两个DLL即可。但要在开发时在客户端程序中uses midaslib,否则会提示“Error loading midas.dll“。
4、DataSnap返回DataSet中文乱码
据网上说,MSSQL可以改用nvarchar类型字段解决(验证可行),而其它数据库可以在连接中设置ServerCharSet参数解决(未验证)。另外 ,MSSQL也可以通过DataSetProvider(S)->DSProviderConnection(C)方式解决(验证可行),只不过无法动态生成DataSet。5、连接FireBird,必须将fbclient.dll复制到system32目录,将FireBird安装目录下的fbclient.dll所在路径加到Path环境变量也是不行的,必须复制到system32目录。
6、连接SQL Server,必须安装Microsoft SQL Server 2008 R2 Native Client,并且Delphi XE2对应的必须是2008R2,其它版本可能无法使用。
7、Delphi XE2 Datasnap 连接MySQL需要的支持文件。
CustomIPTransport160.bplDataSnapCommon160.bplDataSnapIndy10ServerTransport160.bplDataSnapProviderClient160.bplDataSnapServer160.bpldbexpress160.bpldbrtl160.bplDBXClientDriver160.bplDbxCommonDriver160.bpldbxmys.dllDBXMySqlDriver160.bpldsnap160.bplIndyCore160.bplIndyProtocols160.bplIndySystem160.bplinet160.bplIPIndyImpl160.bpllibmysql.dllrtl160.bplvcl160.bplvcldb160.bpl8、使用ClientDataSet获取数据后,要将SQLConnection断开,否则可能导致以下错误: