0

我无法在这两个文件(commEnv.sh 和 commEnv.cmd)中的任何一个中找到 WebLogic CLASSPATH 变量。我不明白在哪里添加 sqljdbc42 也不知道如何连接到 Azure SQL Server 数据库(甚至可能)?

我从 MSDN 下载了 sqljdbc42.jar 并将其添加到我的 $DOMAIN/lib 中,但是 CLASSPATH 在哪里;我没有看到要修改的。据我了解,我需要添加 JAR 的路径。

C:\Oracle\Middleware\Oracle_Home\wlserver\common\bin

commEnv.cmd - 没有类路径:

IF NOT DEFINED MW_HOME (
 IF NOT DEFINED WL_HOME (
  echo MW_HOME or WL_HOME is not set
  IF DEFINED USE_CMD_EXIT (
   EXIT 1
  ) ELSE (
   EXIT /B 1
  )
 )
)

IF NOT DEFINED MW_HOME set MW_HOME=%WL_HOME%\..
FOR %%i IN ("%MW_HOME%") DO SET MW_HOME=%%~fsi

CALL "%MW_HOME%\oracle_common\common\bin\commEnv.cmd"

commEnv.sh - 没有类路径:

if [ -z "${MW_HOME}" -a -z "${WL_HOME}" ]; then
 echo "MW_HOME or WL_HOME is not set."
 exit 1
fi

if [ -z "${MW_HOME}" ]; then
  MW_HOME="${WL_HOME}/.."
fi

. "${MW_HOME}/oracle_common/common/bin/commEnv.sh"
4

1 回答 1

0

我通过完成以下操作使其工作:

  • 必须支持和同步主要和次要版本。也就是说,您必须在项目类路径中使用 sqljdbc4.jar,并将该 jar 的副本放在 Oracle WebLogic 的 $DOMAIN/lib 中,其中 $DOMAIN 对我来说是C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain\lib. 此目录中没有其他文件,但如果您阅读 readme.txt,它会告诉您不需要修改类路径。对我来说,查看 commEnv.cmd 或其他此类文件,根本没有类路径。我收到的具体错误是:

        java.lang.UnsupportedClassVersionError: 
    com/microsoft/sqlserver/jdbc/SQLServerDriver : Unsupported major.minor version 52.0   
    
  • 我使用下面的链接帮助我在 Maven 中安装 sqljdbc,因此我可以在我的 POM 文件中添加所需的依赖项:http: //techmajik.com/2014/04/24/how-to-setup-maven-dependency-for -microsoft-sql-服务器/

  • 或者,我添加了以下代码来调用驱动程序。这里的许多答案都推荐它,甚至指出没有它就无法创建连接的场景。

    try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    
  • 我在 Azure SQL 数据库上。这很重要,因为还有一个额外的步骤 - 必须从 Azure 仪表板正确配置防火墙设置。我使用以下 MSDN 指南帮助我执行这些步骤:http: //blogs.msdn.com/b/azuresqldbsupport/archive/2015/04/29/configuring-the-firewall-for-client-access.aspx

于 2015-12-15T02:55:52.840 回答