2013-06-18 22 views
7

Netezza'ya (SQL veritabanı) bir ODBC bağlantısı kurarım. Bağlantı iyi. Bununla birlikte, R varsayılan olarak 256 satırı çıkarır ve çekilebilecek satır sayısını kısıtlar.RODBC bağlantısı sınırlı satırlar

Netezza'da sorguyu çalıştırırsam, toplam satır sayısını (300k) döndürür. R'de aynı sayıda satır bekliyorum. Ancak, yalnızca 300k'dan biraz kısa olan 256 satır döndürdü. Ben önokuması Denetim Masası'ndan "Sürücüler Seçeneği' sıfıra saymak> Yönetimsel Araçlar> Veri Kaynakları değiştirmeye çalıştı 7.00.02 NSQLODBC.DLL

NetezzaSQL sürümünü kullanıyorum

sürücü (OBBC)> Sistem yaramadı

DNS. Herhangi bir fikir?

+0

Kaç satır bekliyorsunuz? Ve hangi ODBC bağlantı kitaplığını kullanıyorsunuz? –

+0

tam boyutta (300k). Ben ODBC Veri Kaynağı Yöneticisi> Sistem DSN –

+0

ve ne tür bir sürücü demek istediniz varsayalım? –

cevap

7

Ben RODBC Netezza'nın ile kötü davranan düşünüyorum. bir çözüm http://datamining.togaware.com/survivor/Database_Connection.html

sadece e believeNRows=FALSE eklemek sqlQuery veya odbcConnect numaralı çağrılarınızı (daha sonra sqlFetch kullanın) kullanın.

+0

Doğru, sadece argümanını sorgunuza ekleyin, örneğin, 'results = sqlQuery (dbhandle," SELECT * FROM TABLE ", believeNRows = FALSE)' – DavidJ

+0

Bir yıl oldu ama her neyse, benim için çalışıyor: D – gtnbz2nite

2

Ayrıca JDBC sürücüsünü kullanarak deneyebilirsiniz:

library(RJDBC) 
drv <- JDBC("org.netezza.Driver", "nzjdbc.jar", "'") 

conn <- dbConnect(drv, "jdbc:netezza://host:5480/database", "user", "password") 

res <- dbSendQuery(conn, "select * from mytable") 

Eğer DSNs ile uğraşmak zorunda değilsiniz Bu şekilde, vb ben bu tür eskimiş olduğunu biliyoruz

+1

Alex, I Mac üzerinde nzjdbc.jar kullanarak bu yöntemi denedim ve hala 256 satır geri alıyorum. Herhangi bir fikir? –

+0

@ FrankP., 256, sürücü için ön getirme arabelleğinin varsayılan uzunluğudur. Verileri getirdikten (res, n = -1) 'yi mi indirdiniz? -1, tüm kayıtların alınmasını zorlar. –

0

ama sorun RODBC paketi ile değil. Sorun, pencerede bağlantıyı yapılandırırsanız ODBC bağlantısını nasıl ayarlayacağınızdır, ayarları alacağınız satırların miktarını belirtebileceğiniz son bir sekme görürsünüz. Ve varsayılan değer 256'dır.