无法从sql server检索数据

时间:2011-02-17 08:45:20

标签: sql sql-server c3p0

我无法从sql server中的db检索数据。

我使用c3p0作为池,这是c3p0.properties:

c3p0.user=test
c3p0.password=123456
c3p0.jdbcUrl=jdbc:sqlserver://xxxxxx:1433;databaseName=TIMDB;SelectMethod=cursor
c3p0.driverClass=com.microsoft.sqlserver.jdbc.SQLServerDriver
c3p0.maxPoolSize=15
c3p0.testConnectionOnCheckin=true
c3p0.idleConnectionTestPeriod=3600

在sql server中,我创建了一个名为test的新用户,其默认db为TIMDB,服务器角色为public,这是用户映射: enter image description here

但是当我启动应用程序时,我什么也得不到。

从log4j创建的日志中,我可以获取用于检索数据的sql,但是如果我将sql复制到sql管理stutio并创建一个新查询,我可以检索一些数据。

我想知道为什么?

1 个答案:

答案 0 :(得分:2)

对我来说,这似乎是一个权限问题。如果生成的SQl在管理工作室中使用时运行(即在您的用户帐户下),那么您就知道代码是好的。您从帖子中为用户“测试”提供了哪些访问权限我看到“用户映射:在此处输入图像说明”?他至少需要db_datareader,可能还需要更多,具体取决于生成的代码。

您还可以尝试在“test”用户下登录SQL Management Studio,看看是否可以执行代码。这将消除您的应用程序/网络出错的可能性。