1

これは私のオラクルprocedureです:

FUNCTION JavaHefExtract_runSingle (
    p_company_cd        varchar2,
    p_srcConnString     varchar2,
    p_destConnString    varchar2,
    p_mode              number,
    p_period            number
    ) return varchar2
IS
LANGUAGE JAVA
NAME 'HefExtract.DoIt(java.lang.String, java.lang.String, java.lang.String, int, int ) return java.lang.String';

そして、これは私の Javafunctionです:

import com.microsoft.sqlserver.jdbc.*;
import java.math.BigInteger;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Enumeration;
import oracle.jdbc.*;
import java.io.*;

public class HefExtract
{

 public static String DoIt(String orgName, String oracleConnstring, String sqlConnstring, int typ, int iPeriod )
    {
        String errMsg = null;
        Connection sqlConn;
        Connection oracleConn;
        try
        {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            Class.forName("oracle.jdbc.OracleDriver");
            if (oracleConnstring != null)
                oracleConn = DriverManager.getConnection(oracleConnstring);
            else
                oracleConn = new OracleDriver().defaultConnection();
            sqlConn = DriverManager.getConnection(sqlConnstring);
        } catch (Throwable e1) {
            CharArrayWriter byteSink = new CharArrayWriter();
            e1.printStackTrace(new PrintWriter(byteSink));
            return byteSink.toString();
        }
        return errMsg;
}
}

オラクルprocedurePL/SQLブロックで呼び出すと、次のエラーが返されます。

java.lang.ClassNotFoundException: com/microsoft/sqlserver/jdbc/SQLServerDriver at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java) at HefExtract.DoIt(HEFEXTRACT:415)

このエラーの背後にある理由は何ですか?

4

2 に答える 2

1

私の知る限り、あなたのケースでは Microsoft SQL Server ドライバーを使用する必要はありません。Microsoft ドライバーに関係するすべてを削除するだけです。つまり、次の行を削除します。

import com.microsoft.sqlserver.jdbc.*;

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
于 2012-08-05T08:11:38.340 に答える
0

多くの例があるクラスパスの設定方法については、この Wiki 記事を参照してください。http://en.wikipedia.org/wiki/Classpath_(Java )

Eclipse を使用している場合は、[プロジェクト] -> [プロパティ] -> [プロジェクト ビルド パス] -> [Java ライブラリ] を選択して、jar ファイルを見つけて選択します。

netbeans を使用している場合は、[プロジェクト] -> [プロパティ] -> [ライブラリ] -> [コンパイル] を選択して、jar を見つけて選択します。

この投稿は、問題の解決にも役立つ場合があります

于 2012-08-05T05:26:59.040 に答える