WebLogic 12c 类路径位置 + sqljdbc42 驱动程序?

WebLogic 12c classpath location + sqljdbc42 driver?

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

我从 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"

我通过完成以下操作让它工作:

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

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

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

    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