我在Amazon Web Services EC2上託管的Tomcat上運行JNDI JDBC連接池,該服務與Amazon Web Services PostgreSQL關係數據庫進行交談。Amazon EC2上的不完整結果集
我有一個包含40,000行數據的表,我嘗試使用JDBC PreparedStatement「SELECT * FROM tableName」一次性收集數據。
的東西,這個組合完美的作品,收集所有40000行,當我在我的本地機器上運行的servlet(從我本地的Tomcat),並把它通過分貝-name.aws-RDS-URL交談的RDS :5432,但是,當我在AWS EC2上運行相同的servlet並指示它與本地vLAN上的RDS通信時,它永遠不會超過30,000行,結果集只有2000行。每次刷新它時,它都會產生一個新的但不完整的行數。
下面是我在Tomcat的全局context.xml中的條目(我在多個servlet中使用相同的數據源)。
< Resource
name="jdbc/postgres4"
auth="Container"
type="javax.sql.DataSource"
maxActive="8"
maxIdle="8"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://dn-name.aws-rds-URL:5432/SID"
username="db-username"
password="password" />
有什麼想法可能會誤入歧途?
獲取大小可能?不知道,但也許亞馬遜有一些超時設置爲您的查詢(彈性=沒有可能需要太長時間) - 請參閱http://docs.aws.amazon.com/redshift/latest/dg/jdbc-fetch-size-parameter.html – Leo
是的,我試着用1000; 10,000;和40,000 fetchSize,無效:( – adv
客戶端大小的內存不足錯誤是我需要調查,因爲我目前正在使用一個微EC2實例 – adv