Asp.net Oracle:跟踪SQL语句
我正在维护一个基于web的home brew帮助台解决方案,在某些情况下,我们在db字段中遇到错误更改。坦率地说,所涉及的代码非常混乱,混合了不同的数据库访问方法(最糟糕和最危险的方法是通过串联构建sql字符串)。在整个解决方案中对有问题的字段进行全文搜索没有帮助(该字段仅出现在selects和单个合法插入中),因此我甚至找不到有问题的代码 您知道在Asp.Net或Oracle(8)中启用sql跟踪的快速方法吗?(是否可以通过OracleConnection对象或类似的东西截取sql命令?这将使获得堆栈跟踪并找出错误代码成为可能)Asp.net Oracle:跟踪SQL语句,asp.net,oracle,debugging,trace,Asp.net,Oracle,Debugging,Trace,我正在维护一个基于web的home brew帮助台解决方案,在某些情况下,我们在db字段中遇到错误更改。坦率地说,所涉及的代码非常混乱,混合了不同的数据库访问方法(最糟糕和最危险的方法是通过串联构建sql字符串)。在整个解决方案中对有问题的字段进行全文搜索没有帮助(该字段仅出现在selects和单个合法插入中),因此我甚至找不到有问题的代码 您知道在Asp.Net或Oracle(8)中启用sql跟踪的快速方法吗?(是否可以通过OracleConnection对象或类似的东西截取sql命令?这将使
我在谷歌上搜索了一下,发现了这个:
altersystemsetsql\u trace=true SCOPE=MEMORY代码>但我想知道解决问题的更好方法是哪一种(或者在不重写应用程序的情况下建立一个简单的sql日志机制)。要跟踪Oracle 8中的特定会话,请使用
可能感兴趣的是:
要跟踪Oracle 8中的特定会话,请使用
可能感兴趣的是:
启用跟踪是一条可行之路,但如果您在工作中遇到问题,请尝试在SYS.v$sql的sql\u text列中找到对有问题列的引用。假设该语句最近运行过(并且执行契约的语句不会太长,以至于您要查找的列已被截断—Oracle 8没有存储全文),您应该能够在那里找到它。SQL不会显示的另一种情况是,如果更改是通过触发器或存储过程发生的,在这种情况下,您应该能够在ALL_SOURCES表的文本列中找到该列。启用跟踪是一种方法,但是如果您在工作时遇到问题,尝试查看是否可以在SYS.v$sql的sql_text列中找到对有问题列的引用。假设该语句最近运行过(并且执行契约的语句不会太长,以至于您要查找的列已被截断—Oracle 8没有存储全文),您应该能够在那里找到它。SQL不会出现的另一种情况是,如果更改是通过触发器或存储过程发生的,在这种情况下,您应该能够在ALL_SOURCES表的文本列中找到该列。谢谢,我已经通过google看到了orafaq页面,我将查看其他页面(第一个与“过程DBMS…”似乎已损坏:我得到了一个404)。仍在寻找与asp.net OracleClient更相关的内容(如果存在此类内容)。@Utaal:该链接已损坏!抱歉,已更新到Oracle 8i页面谢谢,我已经通过谷歌看到了OracleFAQ页面,我将查看其他页面(第一个与Oracle 8i相关的页面)过程DBMS…“似乎已损坏:我得到一个404)。仍在寻找与asp.net OracleClient更相关的内容(如果存在此类内容)。@Utaal:该链接已损坏!抱歉,已更新到Oracle 8i页面v$sql表提供了足够的信息来解决问题,谢谢v$sql表提供了足够的信息来解决问题,谢谢