gpt4 book ai didi

mysql - 使用 DriverManagerDataSource bean 设置 noAccessToProcedureBodies

转载 作者:行者123 更新时间:2023-11-30 23:26:00 26 4
gpt4 key购买 nike

大家好,Java Geeks,

我在 MySQL 数据库中有很多存储过程,我可以从 .NET 中成功调用它们。但是,当从 Java Spring SimpleJdbcCall.execute() 调用它们时,出现异常,告诉我用户没有这样做的权限。但这显然不是这种情况,因为同一用户可以从 CLI 和 .NET 访问它。

因此我想设置这个参数:

noAccessToProcedureBodies=true

但是,当在下面的连接器 bean 的 url 中添加参数时,它认为尾随字符是数据库名称的一部分。

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">

<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>

<property name="username">
<value>user</value>
</property>

<property name="url">
<value>jdbc:mysql://192.168.0.1:3306/database/?noAccessToProcedureBodies=true</value>
</property>

<property name="password">
<value>powerpass</value>
</property>

</bean>

我一直在考虑覆盖 getConnectionProperties方法,但我认为这不是正确的方法?

谢谢大家

最佳答案

我自己找到了答案,而且很有效。

与其使用结尾斜杠 "database/?noAccess...",不如保留它:

<property name="url">
<value>jdbc:mysql://192.168.0.1:3306/database?noAccessToProcedureBodies=true</value>
</property>

希望对某人有所帮助!

关于mysql - 使用 DriverManagerDataSource bean 设置 noAccessToProcedureBodies,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13304526/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com