应该说Java还是十分强大的,本身提供了jni来调用windows com 组件。
但是要使用好jni似乎没有想象的这么容易,要对c++很懂,部署起来比较麻烦。
一个开源的框架jawin简单的解决了这个问题,以下是本人整理的部分资料(来自于网上),并且调试通过。
http://jawinproject.sourceforge.net这是jawin的官方网站。
在网站上可以获取开发包,有源代码,也有打包好的,按个人需要。
》将jawin.dll放于c:\winnt\system32下。否则将出现错误:COMException : no jawin in java.library.path;
如果jawin.dll放在项目目录下,至少在eclipse下调试会通不过。
》在Eclipse中,菜单->window->preference->Java->installed JREs 将原来的remove,重新建一个指到你的java sdk目录。
》 ok了。
这样环境就算搭建完成了,然后就可以运行demos下面的例子,应该说里面的例子还是比较详细的,有调用word,ppt,excel等各种例子。
因为对ASP,C++这些不熟,一开始我迷茫了很久。。。。
后来总算找到了点方向,因为这次解决问题的重点是,模拟ASP中创建数据库连接,获取数据的方式。ASP里是用到了msado32.dll 这个文件。没有的话当然需要安装了。
以下是java中调用msado32.dll 连接MSSQL查询数据的例子:
Ole32.CoInitialize();
DispatchPtr results = null;
DispatchPtr connection = new DispatchPtr("ADODB.Connection");
String sql_cn = "Provider=SQLOLEDB.1;Password=teldwno1;Persist Security Info=True;User ID=sa;Initial Catalog=PortalMeta;Data Source=134.96.33.18";
connection.invoke( "Open", sql_cn );
String sql = "select * from t_user_info";
results = (DispatchPtr)connection.invoke("Execute", sql );
int count = 0;
while (!((Boolean) results.get("EOF")).booleanValue())
{
++count;
DispatchPtr fields = (DispatchPtr) results.get("Fields");
int numFields = ((Integer) fields.get("Count")).intValue();
for (int i = 0; i < numFields; ++i)
{
DispatchPtr item = (DispatchPtr) fields.get("Item", new Integer(i));
System.out.println(item.get("Name") + ": " + item.get("Value"));
}
System.out.println();
results.invoke("MoveNext");
}
Ole32.CoUninitialize(); //释放
比较怪异,但总算搞定了~~ 代码基本上还是很容易理解的,懂ASP的人应该一看就懂
分享到:
相关推荐
要将清华文通OCR与Java结合,我们需要使用其提供的API或者开发库,例如`thocr9-caifox.rar`可能包含的就是用于编程的接口或组件。通常,这样的库会提供一系列的函数调用,让开发者能够控制OCR引擎进行文字检测、识别...
以下是对Java IO的详细整理: 首先,Java中的`File`类是操作文件和目录的基础,它提供了许多方法来创建、删除、重命名文件以及检查文件属性。在案例1中,通过`new File("D:\\hello.txt")`创建了一个`File`对象,...
### Java基础知识点整理 #### 第一章 搭建开发环境 **1.1 配置Java环境** 在配置Java开发环境之前,首先需要下载并安装JDK(Java Development Kit)。JDK是Java语言的核心组件,包含了Java运行时环境(JRE)及编译...
- **应用场景:** Java中的方法调用时,需要提供相应的参数。 8. **Ascent (提升):** - **定义:** 向上移动的过程。 - **应用场景:** 一般用于描述数据结构或算法中元素的位置变化。 9. **AWT(Abstract Window ...
JACOB(Java COM Bridge)是一个Java到COM接口的桥梁,它允许Java程序调用Windows的COM组件,例如Microsoft Office。通过JACOB,我们可以直接操作Word文档,实现批量转换的功能。 首先,我们需要在项目中引入JACOB...
### Java基础知识概述 根据提供的文件信息,我们可以提炼出关于Java编程语言...以上是基于提供的文件信息所整理出的 Java 编程语言的基础知识点。通过学习这些概念和技术,可以帮助开发者更好地理解和应用 Java 语言。
根据提供的文件信息,我们可以整理出一系列与Java编程语言及其英语术语相关的知识点。下面将对这些词汇进行详细解读,以便更好地理解和掌握Java编程的基础概念及专业术语。 ### A. 数组(Array) 数组是一种基本的...
【Java企业面试题整理2011】涵盖了多个Java编程基础和高级概念,以下是其中一些重要知识点的详细解析: 1. **递归求和**: - 问题1描述了一个计算1到100整数之和的递归函数。递归是函数调用自身的一种方法,通常...
例如,"jre-1_5_0-windows-i586.exe"是Java运行时环境的安装程序,适用于Windows操作系统且为32位系统。这个版本是Java 5.0,包含了JVM和其他必要的运行Java应用程序的组件。 6. **多线程支持**:Java虚拟机内建了...
Jacob(Java Advanced COM Bridge)是一个Java库,它允许Java应用程序与Microsoft的COM(Component Object Model)接口交互,从而调用Windows系统中的Office应用程序功能,如Word和Excel。 首先,让我们详细了解...
使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。DLL动态链接库的生成需要windows平台的支持。该方案只能在windows平台实现,是其局限性。 2:Apache POI包括一系列的API,它们...
这份“javafx自学整理资料”涵盖了从基础概念到高级特性的全面学习资源,旨在帮助初学者和有经验的Java开发者更好地理解和掌握JavaFX技术。 1. JavaFX简介 JavaFX是Oracle公司推出的一种用于构建跨平台的桌面应用...
Jacob允许Java应用程序通过COM接口与Windows操作系统中的Office应用进行通信,从而实现对Word文档的操作。 Jacob库的核心功能是它提供了Java到COM接口的桥接,使得开发者可以调用Office应用的API来处理Word文档。...
9. **评估标准**:在课程设计的评估中,除了代码的正确性和功能的完整性,还会考察学生的学习态度、解决问题的能力、文献调研和资料整理能力,以及对计算机科学的理论理解和应用。 参考文献的选择涵盖了多种层次的...
根据提供的文件信息,我们可以整理出一系列与Java编程相关的知识点,这些知识点主要涵盖了Java的基本概念、环境配置、语法特性以及程序开发的基本流程等方面。下面将详细解释每个知识点。 ### Java语言类型 1. **...
Java提供了一种称为Java Native Interface (JNI) 的机制,使得Java代码能够调用本地(非Java)代码,例如C++或COM组件。这在需要利用现有COM组件或库的情况下非常有用。 RDCOMInteropTest项目的目标就是验证...
文档中还出现了“Windows”和“PATH”,表明应用程序需要运行在Windows操作系统上,并且环境变量需要正确配置以识别Java的安装路径。 3. Java编程基础:文档中提及了“else”和“for”语句,这是Java语言中的基本...
Java虚拟机(JVM)是执行Java字节码的核心组件,它确保了Java程序能够在任何支持JVM的平台上运行而无需重新编译。本文将详细介绍JVM的基础知识、不同实现之间的差异、内存管理和垃圾回收机制,以及如何对JVM进行性能...
1. **跨平台性**:Java的“一次编写,到处运行”特性使得该应用可以在多种操作系统上运行,包括Windows、Mac OS和各种Linux发行版。 2. **稳定性和安全性**:Java有严格的类型检查和垃圾回收机制,能有效防止常见的...
### JAVA工程师核心技能与项目实践经验解析 #### 一、个人基本信息 - **姓名**:未提供 - **年龄**:24岁 - **学历**:本科 - **专业**:计算机科学与技术 - **英语水平**:CET-4 - **联系方式**:未提供 #### 二...