2016-04-13 24 views
1

'da farklı sonuçlara yol açar SOA 10g'den SOA 12c'ye bir BPEL işlemi yerleştiriyorum.Saklı yordam çağrısı SOA 10g ve SOA 12c

Aynı giriş yüküyle aynı saklı yordamı çağırmak için bir DBAdapter yapılandırdım.

Sorun, SOA 10g'de her şeyin iyi olduğu ve yordamın, çıktı olarak 0 ve "OK" hata kodunu döndürdüğüdür. SOA 12c'de, yordam, bir noktada kesilir ve ileti olarak bir hata kodu -1722 ve "Geçersiz numara" döndürür (bu, ORA-01722 veritabanı hatasından kaynaklanan bir iç işlemdir). Bozulduğu satırı görmek için saklı yordamda hata ayıklayamıyorum.

Soruma soru: ne "düşük düzey" parametresi bunu etkileyebilir?

  • SOA yüklendiği veritabanı tavsiye biridir AL32UTF8, farklı bir kodlama kullanır: Bu zaten yaptık şimdiye kadar yaşadığınız fikir ve çeklerin bir listesidir. Bu bir sorun olabilir mi bilmiyorum, ama her iki SOA sürümü aynı veritabanını kullandığından beri sanırım.
  • Girdi yükü, ilgili tüm alanlarda her iki durumda da aynıdır. XML'i Enterprise Manager'dan indirip Meld ile karşılaştırarak kontrol ettim; En azından bundan farkedemedim.

Bir noktada kodlamanın, WebLogic'ten veritabanına tek veri gönderen bir sorun olduğunu tahmin ediyorum. Ben sadece kullanılan DbAdapter özel bağlantı havuzunun günlüklerini etkinleştirdim, bazı bilgileri alabildiğim kadarıyla ilgili bilgileri güncellemeyi başlatacağım (başlangıçları başlatmak için beklemem gerekiyor, bunları kendim başlatamıyorum).

+3

Ben tahmin ediyorum Bu bir NLS meselesidir (çoğu ORA-01722, NLS ile ilgili IME olarak ortaya çıkar); Her iki Oracle örneğinde de aynı NLS ayarlarını kullanıyor musunuz? Her iki istemcide/DBAdapters? Girişinizde kayan noktalı sayılar var mı (örneğin "12.1" - bu, İngilizce NLS ayarlarıyla mutlu bir şekilde ayrılacak, ancak Almanca ayarları kullanıyorsanız bir ORA-01722 yükseltecektir)? –

+0

@FrankSchmitt, sorunun NLS ayarlarından kaynaklandığını belirtti. Lütfen bunu bir cevap olarak gönderin çünkü kesinlikle puanları hak ediyorsunuz. – Numbers

+0

Bitti :-) (lorem ipsum'un zaten 15 karakterimiz var mı? Evet sahibiz) –

cevap

2

Bunun bir NLS sorunu olduğunu tahmin ediyorum (çoğu ORA-01722 benim deneyimlerimde NLS ile ilişkilidir). Kontrol etmeniz gereken

şeyler:

  • hem Oracle örneğini aynı NLS ayarları nasıl kullanırım?
  • Her iki istemcideki/DBAdapters'ta aynı NLS ayarlarını kullanıyor musunuz?
  • girişiniz size gelmiş kayan nokta sayıları do (örneğin, "12.1" - Alman ayarları kullanıyorsanız bu mutlu İngilizce NLS ayarları ile ayrıştırmak ama bir ORA-01722 yükseltecektir)
İlgili konular