关于jacob链接com组件的问题
六狗回来 2009-02-17 11:00:09 想利用jacob链接spss的com组件:在测试的时候没问题,但是一放到网页上就会出错:错误提示为:
com.jacob.com.ComFailException: Can't co-create object
com.jacob.com.Dispatch.createInstanceNative(Native Method)
com.jacob.com.Dispatch.<init>(Dispatch.java:101)
com.jacob.activeX.ActiveXComponent.<init>(ActiveXComponent.java:58)
org.apache.jsp.citypredict.process_jsp._jspService(process_jsp.java:92)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
而且是一般开始的一两次没错,后来就有错,在网上看到一篇帖子说是要初始化com线程(http://www.chinajavaworld.com/message.jspa?messageID=731691),
否则就会有这个错误,但是我也初始化了的啊,为什么还是有呢。请高手指教。
我的环境配置是myeclipse6.5+tomcat6.0+jacob1.14.3.
想过版本不匹配,换了jacob其他版本也不行。后来发现按照http://www.chinajavaworld.com/message.jspa?messageID=731691上面的源代码放在jsp中执行也还是不可以。
会报content无法找到这样的错误,但是测试的时候是没问题的。
附上部分代码:
ComThread.InitMTA();
ActiveXComponent sC = new ActiveXComponent("Word.Application");
Dispatch spss=(Dispatch) sC.getObject();
String filepath="e://1.sav";
Dispatch.call(spss, "OpenDataDoc", (Object)filepath);
Dispatch doc=Dispatch.get(spss, "documents").toDispatch();
long doc_count=0;
doc_count=Integer.parseInt(Dispatch.get(doc,"datadoccount").toString());
Dispatch.call(doc, "GetDataDoc", (int)(doc_count-1)).toDispatch();
Dispatch datadoc=Dispatch.call(doc, "GetDataDoc", doc_count-1).toDispatch();
ComThread.Release();//
十分感谢!