1

我无法从 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 的用户,它的默认数据库是 TIMDB,服务器角色是公共的,这是用户映射: 在此处输入图像描述

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

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

我想知道为什么?

4

1 回答 1

2

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

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

于 2011-02-17T10:02:39.810 回答