çağrıldığında başarısız oluyor Bu yordam, hem uzaktan hem de yerel ana bilgisayardaki MySQL komut satırından çalışır ve PHP'den çağrıldığında çalışır. Her durumda hibe yeterli:MySQL saklı yordamı, R
CREATE PROCEDURE `myDB`.`lee_expout` (IN e int, IN g int)
BEGIN
select lm.groupname, lee.location, starttime, dark,
inadist,smldist,lardist,emptydur,inadur,smldur,lardur,emptyct,entct,inact,smlct,larct
from lee join leegroup_map lm using (location)
where exp_id= e and std_interval!=0 and groupset_id= g
order by starttime,groupname,location;
END
Ben R diyoruz çalışıyorum:
library(DBI)
library(RMySQL)
db <- dbConnect(MySQL(), user="user", password="pswd",
dbname="myDB", host="the.host.com")
#args to pass to the procedure
exp_id<-16
group_id<-2
#the procedure call
p <- paste('CALL lee_expout(', exp_id, ',', group_id,')', sep= ' ')
#the bare query
q <- paste('select lm.groupname, lee.location, starttime, dark,
inadist,smldist,lardist,emptydur,inadur,smldur,lardur,emptyct,entct,inact,smlct,larct
from lee join leegroup_map lm using (location)
where exp_id=',
exp_id,
' and std_interval!=0 and groupset_id=',
group_id,
'order by starttime,groupname,location', sep=' ')
rs_p <- dbSendQuery(db, statement=p) #run procedure and fail
p_data<-fetch(rs_p,n=30)
rs_q <- dbSendQuery(db, statement=q) #or comment out p, run query and succeed
q_data<-fetch(rs_q,n=30)
çıplak sorgu iyi çalışır. yordam çağrısı
RApache Uyarı/Hata ile başarısız !!! Hata mysqlExecStatement (conn, deyim, ...) içinde: RS-DBI sürücüsü: (yapamadı çalıştırmak beyanı: USULÜ myDB.lee_expout verilen bağlamda geçen bir sonuç)
MySQL docs 0 belirlenebilir ifadeleri için
demek döndüremezyalnızca bir çalışma zamanı döndürmek için set, bir PROSEDÜR% s bir sonucunu döndüremiyor, verilen bağlam hatası oluşur.
biri bir prosedür hatayı atacak olsaydı, bunun yerine sadece R.
denbu nasıl giderileceği ile ilgili herhangi bir düşünce her koşulda atılmış olacağını düşünürsünüz?
Mağazanızın proc'sini çalıştırmayı başardınız mı? Size yardımcı olan doğru cevabı işaretleyebilir misiniz? ya da bunların hiçbiri gönderemezsiniz ve kendiniz cevaplayın.Böylece ilgilenen insanlar burada bir çözüm bulabilir. Teşekkürler – jangorecki
@JanGorecki: Saklı yordamı çalıştırmayı başaramadım. Çıplak sorguyu kullanmak zorundaydım. Bu bir süre önce oldu ve belki de R'nin DBI paketi şimdi depolanmış prosedürler hakkında daha iyi. – dnagirl
MySQL kullanmıyorum, ancak SQL kullanarak Microsoft SQL veritabanlarında SQL sorguları çalıştırdım. Sorguda, her ne kadar bir şey olursa olsun, çıplak seçim deyiminde işlemin başarısız olduğunu fark ettim. MySQL'de gerekli olup olmadığını bilmiyorum, ancak "oluşturma prosedürü", "başlangıç" ve "bitiş" satırlarını kaldırmayı denediniz mi? – thepule