Я пытаюсь вызвать функцию dll из Java с помощью Jacob без каких-либо успехов. Я сделал регистрацию dll с regasm, как описано здесь - http://www.dreamincode.net/forums/topic/114094-using-dll-library-in-java-application-using-jacob/. Мой код:Jacob com.jacob.com.ComFailException: Невозможно сопоставить имя с dispid:
String serverName = "...", fileName = "...";
Dispatch dispatch = new Dispatch("dllx32conn.dbconn");
Dispatch.call(dispatch, "pass_para", serverName, fileName);
Это не работает. Он бросает com.jacob.com.ComFailException: Невозможно отобразить имя для отладки: pass_para
Итак, я решил проанализировать функции dll, декомпилировав его с помощью JetBrains dotPeek. Вот что я нашел
using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
namespace dllx32conn
{
public class dbconn
{
public static string conn_str = "";
public static string strFilePath = "";
public static SqlConnection Conn = new SqlConnection();
public static DataTable tbl;
public static SqlDataAdapter dap;
public static void pass_para(string servname, string csvpth)
{
dbconn.conn_str = "Data Source=" + servname + ";Initial Catalog=Billing;User Id=Scd;Password=Smart11Siri";
dbconn.strFilePath = csvpth;
}
}
}
Я бы очень признателен за помощь в выяснении того, что здесь не происходит. Благодарю.