IKVM的使用

1、功能实现

把JAR包转为DLL,以便在.NET项目中使用。

2、环境

java version :1.8.0_181

IKVM:ikvm-8.1.5717.0

 注意点:

1、IKVM 如果版本过低 ,无法适用 jdk高版本,如:IKVM7.1无法使用jdk1.8的;

2、IKVM需要配置环境 :将IKVM.NET的bin文件夹的地址添加到环境变量,如下图所示:

 

配置完成之后可以使用下面的命令测试环境是否Ok

ikvm -version

 

  JAR包:

1、ojdbc8-19.8.0.0.jar

2、引入ojdbc8-19.8.0.0.jar用eclipse写个自定义方法,代码如下,并生成【OracleDbTester.jar】

 

    /**
     * 测试Oracle数据库连接
     * @param url 连接地址信息
     * @param userName 用户名
     * @param password 密码
     * @return
     */
    public static boolean connectToOracleDb(String url, String userName,
            String password) {
        // 加载驱动
        try {
            // 方式二
            Properties properties = new java.util.Properties();
            properties.put("user", userName);
            properties.put("password", password);
            OracleDriver driver = new oracle.jdbc.OracleDriver();
            Connection connect = driver.connect(url, properties);
            connect.close();            

            return true;

        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        return false;
    }

 JDBC连接Oracle的方式可以参考如下

 参考【Oracle 服务名/实例名,Service_name 和Sid的区别

测试Oracle连接的代码参考【java连接Oracle数据库的操作说明】 

3、操作步骤

 1、先把 ojdbc8-19.8.0.0.jar 转成 ojdbc8.dll 命令如下

ikvmc ojdbc8-19.8.0.0.jar -out:ojdbc8.dll

2、查看 OracleDbTester.jar 的结构

jar tf OracleDbTester.jar

3、把 OracleDbTester.jar 转成 OracleDbTester.dll

ikvmc OracleDbTester.jar -r:ojdbc8.dll -out:OracleDbTester.dll

4、新建.NET项目,添加ojdbc8.dll和OracleDbTester.dll的引用,并添加 IKVM 8.1.5717 的NuGet包,如下所示

 

 

 

 5、添加如下的测试方法

        private void TestDb()
        {
            var isOk = program.connectToOracleDb("jdbc:oracle:thin:@192.168.150.23:1521:<SID>", "<用户名>", "<密码>");
        }

 

4、相关参考

1、C# 利用IKVM 调用JAVA 方法

2、在.NET上运行Java IKVM.NET入门

3、ikvmc的使用

 

5、资源下载

1、IKVM工具 

 

链接:https://pan.baidu.com/s/1Uf2yAG2dSFS4fghoLRyDzg
提取码:ikvm

posted @ 2022-04-22 19:35  lanwah  阅读(5797)  评论(0编辑  收藏  举报