2011-02-17 65 views
1

我无法从sql服务器中的数据库检索数据。无法从sql服务器检索数据

我用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,服务器角色是公开的,这是用户映射: enter image description here

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

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

我想知道为什么?

+2

请显示一些演示问题的代码。 – 2011-02-17 08:49:19

+0

sql类似于:选择logtime,dn,dh从Mean_5Min'2011-12-12 00:00:00'和'2011-12-13 00:00:00'之间的日志时间。 – hguser 2011-02-17 13:34:56

回答

2

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

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