Ich habe ein Problem mit sqlquery Datenbank verbinden mit R.Wie verbinden Datenbank mit R
library(RODBC)
res =sqlQuery(channel,
paste0("select pb.col1,pb.col2 from pb,
mp,fb,st
where fb.col10 in ('%s',input),
and fb.col20=mp.col30
and pb.col40=st.col50
and pb.col45=st.col60
and mp.col40=pb.col80 and
pb.col80=st.col90"),
believeNRows=F)
Hier input=c("abc","def","wvy","etz")
, aber der eigentliche Eingang verfügt über mehr als 10.000 Textelemente.
Der Kanal ist bereits für die Verbindung mit der Datenbank eingerichtet.
Es sieht aus wie es gibt einige Probleme mit Where-Klausel, aber ich weiß nicht, wie es zu beheben ist.
Kann mir jemand dabei helfen?
Welche Fehlermeldung erhalten Sie? Kannst du überhaupt eine Verbindung zu deiner Datenbank herstellen? funktioniert eine einfache Abfrage (z. B. 'SELECT * FROM your_database')? – epo3
Ja, ich laufe im SQL-Client mit SQL-Abfrage und es funktioniert. Ich kann nach dem Testen einer einfachen Abfrage eine Verbindung zur Datenbank herstellen. Fehler: "42000 27 FEHLER:" [RODBC] FEHLER: Konnte nicht SQLExecDirect – kaneroy
Ich ändere meinen Code basierend auf der folgenden Diskussion, aber habe noch ein Problem: sqlQuery (channel, sprintf ("select pb.M, pb.P, pb.B , pb.BR, pb.SA, st.TO von pb INNER JOIN mp auf mp.M = pb.M INNER JOIN fb auf fb.F = mp.in INNER JOIN st auf pb.M = st.M und pb. P = st.P und pb.S = st.S wo fb.s in '% s' ", paste0 (input, collapse =" ',' "))) – kaneroy