2016-04-07 13 views
0

Kodumuz Websphere Application Server 7.0.0.37'de çalışıyor ve birkaç DB2 veritabanına bağlanıyor. Bazen istisna alıyoruz "com.ibm.db2.jcc.a.SqlException:" SCHEMA.TABLENAME "tanımsız bir addır." Bu yük özellikle yüksek olduğunda her gün oluyor. Bunun websitesi içindeki bağlantı ayarlarıyla ilgili bir şey yapması gerekip gerekmediğini lütfen belirtin.com.ibm.db2.jcc.a.SqlException: tableName tanımsız bir addır

Aşağıda StackTrace olan [4/6/16 21: 54: 08: 083 PDT] 000000f7 SystemErr R com.ibm.db2.jcc.a.SqlException: "SCHEMA.TABLENAME" tanımsız bir adı. [4/6/16 21: 54: 08: 083 PDT] 000000f7 SystemErr R, com.ibm.db2.jcc.a.zc.e (zc.java:1606) [4/6/16 21:54: 08: 084 PDT] 000000f7 SystemErr R adresinde com.ibm.db2.jcc.a.zc.a (zc.java:1206) [4/6/16 21: 54: 08: 084 PDT] 000000f7 SystemErr R at com.ibm.db2.jcc.c.eb.h (eb.java:149) [4/6/16 21: 54: 08: 084 PDT] 000000f7 SystemErr R, com.ibm.db2.jcc.c .eb.a (eb.java:43) [4/6/16 21: 54: 08: 084 PDT] 000000f7 SystemErr R com.ibm.db2.jcc.cra (r.java:30) [4/6/16 21: 54: 08: 084 PDT] 000000f7 SystemErr R, com.ibm.db2.jcc.c.tb.g (tb.java:152) [4/6/16 21:54:08 : 084 PDT] 000000f7 SystemErr R, com.ibm.db2.jcc.a.zc.n (zc.java:1186) [4/6/16 21: 54: 08: 084 PDT] 000000f7 Syste [4/6/16 21: 54: 08: 084 PDT] 000000f7 SystemErr R'de com.ibm.db2 adresinde yer alan mErr R. jcc.a.ad.d (ad.java:2203) [4/6/16 21: 54: 08: 084 PDT] 000000f7 SystemErr R, com.ibm.db2.jcc.a.ad.W (ad. java: 1276) [4/6/16 21: 54: 08: 084 PDT] 000000f7 SystemErr R, com.ibm.db2.jcc.a.ad.execute (ad.java:1260) [4/6/16 21: 54: 08: 084 PDT] com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecute (WSJdbcPreparedStatement.java:942) [4/6/16 21, 000000f7 SystemErr R: 54: 08: 084 PDT] 000000f7 SystemErr R, com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.execute (WSJdbcPreparedStatement.java:618)

+0

Evet, bu ada sahip bir tablo var. Uygulama sadece seçmek ve bu tabloya eklemek. Bu, MDB –

+0

Hi mustaccio'dan bir iletinin işlenmesinin bir parçası olarak yürütülür. Tablo adını kaldırmak için lütfen yukarıdaki yorumunuzu düzenler misiniz? Bunun organizasyonumda güvenlikle ilgili bir şey olup olmadığından emin değilim. –

+0

Anlayışınız için teşekkür ederiz. Peki, böyle bir tablo var diyelim, ama DB2 yok diyor. Kime güveniriz? – mustaccio

cevap

0

WebSphere Application Server'daki bağlantı ayarları, kullanılan şemayı etkileyebilir (bağlantının kullanıcı adına göre), ancak tutarlı olur ve bir veritabanının yük altında olup olmadığına bağlı olarak değişmez. Sorunun yük altında gerçekleştiğini, ancak başka bir şekilde gerçekleşmediğini gözlemlediyseniz, bir iş parçacığı hatası olabilir.

Sorunu açıklığa kavuşturmak için, SCHEMA.TABLENAME, kullanılmasını istediğiniz şema ve tablo mu? Değilse, hangi kısım beklenmedik - şema, tablo adı veya ikisi birden? Alternatif olarak, SCHEMA.TABLENAME bekleniyorsa, yük altında değilken aynı şema/tablo çalışmasına yönelik sorgulamalar yapın. Uygulamada açıkça belirtilen SCHEMA şeması mı yoksa bağlantı kullanıcı adı veya veri kaynağı ayarlarından dolaylı mı?

+0

Şema ve tablo adı doğru olanlardır. Şema adı, uygulama kodunda açıkça ve veri kaynağı ayarlarında belirtilmemiştir. Şema ve tablo adını "SCHEMA.TABLENAME" olarak değiştirmek için lütfen yanıtınızı düzenleyebilir miyim, çünkü kuruluşumdaki güvenlik kısıtlamalarından emin değilim. –

+0

Elbette, buna göre güncelledim.Uygulamanın şema/tablo adını kodlamak için söylediklerinize göre, bu durumu açıklayabilmemin tek yolu, bir şekilde o şemaya/tabloya erişimi olmayan yanlış kullanıcıyla bağlantı kurmanızdır. Oluştuğunda hatayı yakalayarak bunu araştırabilir ve sonra şunu deneyin: connection.getMetaData(). GetUserName() – njr