Clarion 的运行时库和数据库驱动程序需要持久连接。远程 ODBC 的正常断开连接可能会导致问题(包括应用程序挂起),除非您在 ABC 文件管理器级别对其进行测试并重新连接,或者使用类似的步骤进行测试和恢复。
如果您正在寻找有关驱动程序和 SQL 后端之间发生了什么的详细信息,我建议使用 Clarion 的数据库驱动程序跟踪工具。从帮助主题:“记录驱动程序 I/O 以进行调试”:
要在调试视图中查看跟踪详细信息,请将目标跟踪文件命名为“DEBUG:”
日志记录会打开指定的日志文件以进行独占访问。如果文件存在,则将新的日志数据附加到文件中。
按需记录
对于按需日志记录,您可以在程序中使用属性语法来有条件地打开和关闭各种级别的日志记录。日志记录对目标表和目标表为主表的任何视图都有效。
file{PROP:Profile}=Pathname !Turns Clarion I/O logging on
file{PROP:Profile}="DEBUG:" !Turns Clarion I/O logging on and
!sends output via OutputDebugString()
!(viewable via debugview, etc)
file{PROP:Profile}='' !Turns Clarion I/O logging off
PathName = file{PROP:Profile} !Queries the name of the log file
file{PROP:Log}=string !Writes the string to the log file
file{PROP:Log}="DEBUG:" !Writes the string to the log file
file{PROP:Details}=1 !Turns Record Buffer logging on
fFile{PROP:Details}=0 !Turns Record Buffer logging off
其中 Pathname 是要创建的日志文件的完整路径名或文件名。如果不指定路径,驱动程序会将日志文件写入当前目录。
您还可以使用 SEND() 命令和 LOGFILE 驱动程序字符串完成按需记录。有关详细信息,请参阅日志文件。
我经常使用的示例,这是基于上面的帮助:
SYSTEM{PROP:DriverTracing} = '1'
CRMNotes{PROP:TraceFile} = 'DEBUG:'
CRMNotes{PROP:Details}=1
CRMNotes{PROP:Profile}= 'DEBUG:'
CRMNotes{PROP:LogSQL} = 1