2011-02-17 69 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並查看是否可以執行代碼。這將消除其應用程序/網絡出現問題的可能性。