【问题标题】:Setting noAccessToProcedureBodies using a DriverManagerDataSource bean使用 DriverManagerDataSource bean 设置 noAccessToProcedureBodies
【发布时间】:2012-10-29 13:31:30
【问题描述】:

大家好,Java 极客们,

我在 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 方法,但我认为这不是正确的方法吗?

谢谢大家

【问题讨论】:

    标签: mysql spring jakarta-ee jdbc jdbctemplate


    【解决方案1】:

    我自己找到了一个答案,它正在工作。

    而不是结束斜线"database/?noAccess..." 应该离开它:

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

    希望对某人有所帮助!

    【讨论】:

      猜你喜欢
      • 2011-04-11
      • 2015-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      • 2011-07-15
      • 1970-01-01
      相关资源
      最近更新 更多