大家好,所有Java Geeks,
我在MySQL数据库中有很多存储过程,我可以从.NET成功调用它。但是,当从Java Spring SimpleJdbcCall.execute()
调用它时,我得到一个异常,告诉我用户没有权限这样做。但事实显然并非如此,因为同一个用户可以从CLI和.NET访问它。
我想设置此参数:
noAccessToProcedureBodies=true
但是,在我的url中添加下面的连接器bean中的参数时,它认为尾随字符是数据库名称的一部分。
<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
方法,但我不认为这是正确的做法?
全部谢谢
答案 0 :(得分:0)
我自己找到了答案,而且它正在发挥作用。
不应该有一个结尾斜杠"database/?noAccess..."
,而应该留下它:
<property name="url">
<value>jdbc:mysql://192.168.0.1:3306/database?noAccessToProcedureBodies=true</value>
</property>
希望能帮助别人!