当前位置: 首页 > 知识库问答 >
问题:

在Spring中使用HikariCP连接到Oracle数据库时发送应用程序名称

印高阳
2023-03-14

我有一个Spring Boot 1.4.7应用程序,我目前正在更新到版本2.0.5。应用程序使用以下配置使用JDBC连接到Oracle DB:

spring:
  jpa:
    database-platform: org.hibernate.dialect.Oracle12cDialect
  datasource:
    url: jdbc:oracle:thin:@<db_server>
    username: ${credentials.database.username}
    password: ${credentials.database.password}
    driver-class: oracle.jdbc.OracleDriver.class
    platform: oracle
    tomcat:
      connection-properties: v$session.program=${spring.application.name}

应用程序更新到Spring Boot 2.0之后。5发送到服务器的应用程序名是JDBC瘦客户端,而不是${spring.application.name}。这样做的原因似乎是在Spring 2中切换到HikariCP作为默认连接池。x、 如何将此配置迁移到Hikari,以允许我为v$session发送自定义属性。编程到数据库?

我所尝试的:

  • 追加?应用程序名称

共有3个答案

公良向阳
2023-03-14

如果你想引用spring.application.name,你必须这样使用它:

spring:
  datasource:
    hikari:
      data-source-properties:
        "[v$session.program]": ${spring.application.name}
韶英达
2023-03-14

使用HikariCP池属性(Spring Boot 2中的默认池)

spring:
  datasource:
    hikari:
      data-source-properties:
        v$session.program: MyAppName
穆鸿波
2023-03-14

在yaml中,美元符号被转义。

spring.datasource.hikari.data-source-properties.v$session.program: <name>

com.zaxxer.hikari.HikariConfig : dataSourceProperties............{password=<masked>, vsession.program=<name>}

试试这个。

spring:
  datasource:
    hikari:
      data-source-properties: v$session.program=name
 类似资料:
  • 我正在尝试使用hikaricp和java为Oracle数据库创建一个连接池。 这是我下面的代码。。 我正在降低误差。 任何建议也将是有益的..谢谢..

  • 问题内容: 我正在研究将由学校使用的应用程序。每所学校将建立自己的数据库。每个学校都会为应用程序提供自己的“设置”文件。设置文件将包含创建设置文件的特定学校的数据库URL。这样一来,使用该应用程序的学生如果想连接到其他数据库,就只能加载其他设置文件。 我的问题是,如何保护用于连接数据库的用户名和密码?因此,只有应用程序具有对数据库的读写访问权限。应用程序仅具有该特定学校的读写权限吗? 如果您需要更

  • 我在PHP8中有Azure web应用程序,希望从php代码连接到Oracle数据库12C。从文档中,我发现下面的博客说我们需要Oracle Instant Client,但我没有找到安装步骤。在这个博客中,他们提到php版本高达5.6,但我使用的是PHP8版本。 https://docs.microsoft.com/en-us/archive/blogs/azureossds/access-or

  • 我无法连接到我的。这是代码: 我得到了这个信息: 在学校,这个例子是有效的。问题出在哪里??

  • 问题内容: 我正在创建一个Web应用程序,并且很好奇如何在其中将数据发送到MySQL数据库。我有一个在用户按下按钮时调用的函数,我希望该函数以某种方式将数据发送到MySQL服务器。有谁知道如何解决这个问题?我尝试了npm MySQL模块,但似乎连接不正确,因为它是客户端。还有其他方法吗?我需要一个主意才能开始。 问候 问题答案: 您将需要一个服务器来处理来自React应用程序的请求并相应地更新数据

  • 问题内容: 我遇到以下问题:当我尝试使用外部IP地址(PC的IP而不是本地IP的createTcpServer =在cmd.exe中运行ipconfig后我们看到的输出)时,发生以下错误: 服务器错误:异常打开端口“ 9092”(端口可能正在使用),原因:“ java.net.BindException:无法分配请求的地址:JVM_Bind” [90061-169] 但是,该端口未使用。我已经使用