HQT

追求.NET 技术永无止境

导航

近来怪事一堆。。。。。

Posted on 2005-08-26 16:38  HQT  阅读(567)  评论(2编辑  收藏  举报

这两天被下面这两件怪事搞得晕头转向了:
1. 在 Asp.NET 中调用 Excel 组件时进程无法完全自动杀死

   Excel.Application app = new Excel.Application();
   ......... // code.

   用下列语句 正常情况下是可以自动杀死进程的。 
     app.Quit();
     app = null;
     GC.Collect();

    奇怪的是,第一个创建的进程总是无法杀死。(不过过一段时间--可能20分钟左右,它还是会自动消失,不知是否 垃圾回收了?但前面已经强制调用过一次了啊? 而且在创建非第一个EXCEL进程后调用
GC.Collect() 确实可以回收掉。。。惟独第一个不行)  

    实在郁闷。

2. 关于 Oracle 的连接与 WEB.Config 中的 <identity impersonate="true" />
    Oracle 我是用 OLEDB连接的。字符串如下:
"Provider=OraOLEDB.Oracle.1;Persist Security Info=True;Data Source="+dbName+";User ID="+uId+";Password="+pwd;

   奇怪的是,这两天,总出现一些怪异问题,ORACLE时而连上,时而连不上,且错误提示还是乱码(密码错误的提示是英文正常显示。)

奇怪症状如下:
1. 将 impersonate 设置为 false, 连接正常,再设为 true 又出现错误,如此往复几次,结果一样。
2. 保持 impersonate="true" 在 identity  节点中增加 userName 和 password ,可以连接,
  再将它删除掉还原原来格式,却也是可以连接的。
   此时再将 impersonate 设置为 true 或 false , 也是都可以连接成功的。

结论: 无语。。。。