Расположение пути к классу WebLogic 12c + драйвер sqljdbc42?

Я не могу найти переменную WebLogic CLASSPATH ни в одном из этих двух файлов — commEnv.sh и commEnv.cmd. Я не понимаю, куда добавить sqljdbc42 и как подключиться к базе данных Azure SQL Server (возможно ли это вообще)?

Я скачал sqljdbc42.jar из MSDN и добавил его в свой $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"

person Boris    schedule 15.12.2015    source источник


Ответы (1)


Я заставил его работать, выполнив следующее:

  • Основные и дополнительные версии должны поддерживаться и синхронизироваться. То есть вы должны использовать sqljdbc4.jar в пути к классам вашего проекта и поместить копию этого jar в $DOMAIN/lib для Oracle WebLogic, где $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   
    
  • Я использовал ссылку ниже, чтобы помочь мне установить sqljdbc в Maven, поэтому я могу добавить необходимую зависимость в свой файл 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, чтобы выполнить следующие действия: access.aspx" rel="nofollow">http://blogs.msdn.com/b/azuresqldbsupport/archive/2015/04/29/configuring-the-firewall-for-client-access.aspx

person Boris    schedule 15.12.2015