Pedro, Calloc é uma chamada "primitiva" para o R, uma função da biblioteca C e é uma função feita para "alocar" (reservar) memória e zerá-la.
O estranho, para mim, é a tentativa do aplicativo de reservar *tanta* memória assim na chamada da função do R. Essa função sqlQuery() pode ser testada fazendo: > example(sqlQuery) ? Se o exemplo do próprio pacote funcionar, aí teremos que fazer uma busca para ver de onde vem esse comportamento. HTH -- Cesar Rabak 2017-07-28 17:12 GMT-03:00 Pedro Emmanuel Alvarenga Americano do Brasil < emmanuel.bra...@gmail.com>: > Ei Cesar, > > Eu tenho pouco familiaridade com SQL, e o amigo da TI que tem e faz > manutenção do servidor diz que o erro é na minha estação com R. Eu acho que > não, mas não tenho certeza porque eu não sei ao certo o que quer dizer esse > erro. O que seria essa "Calloc"? É uma coisa natural do R? > > Abraço, > > Pedro Brasil > > Em 28 de julho de 2017 16:59, Cesar Rabak <cesar.ra...@gmail.com> > escreveu: > >> Pedro, >> >> Mesmo sem poder fazer uma tentativa, me parece que o erro é estranho >> demais para não ser notado: a chamada à primitiva da ling. C "calloc" está >> pedindo 200 Gbytes, que falha e me parece algo grande demais para um >> "default" da chamada a sqlQuery(). >> >> HTH >> >> >> 2017-07-28 9:42 GMT-03:00 Pedro Emmanuel Alvarenga Americano do Brasil >> via R-br <r-br@listas.c3sl.ufpr.br>: >> >>> Amigos de R, >>> >>> Estou envolvido numa tarefa que importo um banco SQL de um servidor, >>> faço uma modelagem, salvo o modelo no SQL através de uma seriliazação, e >>> depois carrego esse modelo do SQL para fazer previsões em novos dados. >>> >>> Estou seguindo um exemplo disponível nessa página: >>> https://docs.microsoft.com/pt-br/sql/advanced-analytics/tuto >>> rials/walkthrough-deploy-and-use-the-model >>> >>> Sei que esse exemplo não é reproduzível porque depende da conexão com o >>> servidor e credenciais que não posso divulgar. Mas se alguem já passou por >>> esse problema poderia pelo menos indicar aonde está o problema que não >>> estou sabendo identificar? Acho que muito provavelmente seria uma >>> configuração do SQL no servidor... >>> >>> library(RODBC) >>> >>> # define database connection string >>> dbconn <- 'Driver={SQL Server};Server=BLABLABLA;Datab >>> ase=BLABLABLA;Trusted_Connection=yes;' >>> >>> # define a connection >>> conn <- odbcDriverConnect(connection = dbconn) >>> >>> # Estou fazendo o exemplo com o objeto LETTERS só pra ter certeza que é >>> um objeto pequeno e que não deveria ser um problema de memória do R. >>> > LETTERS >>> [1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" >>> "R" "S" "T" "U" "V" "W" "X" >>> [25] "Y" "Z" >>> > teste_pequeno <- serialize(LETTERS, connection = NULL) >>> > teste_pequeno <- paste(teste_pequeno, collapse = "") >>> >>> # o EXEC PersistModel faz >>> # insert into [tempo_permanencia_models] (model, [description]) values >>> (convert(varbinary(max),@m,2), @description) >>> # insere o modelo e uma descricao >>> >>> > p <- paste("EXEC PersistModel @m='", teste_pequeno,"', @description = >>> 'Teste de serialização objeto pequeno'", sep = "") >>> > sqlQuery(conn, p) >>> character(0) >>> > rm(teste_pequeno) >>> > p <- "SELECT model FROM [tempo_permanencia_models] WHERE id_model = >>> 1022" >>> > mod.teste.peq <- sqlQuery(conn, p) >>> Error in odbcQuery(channel, query, rows_at_time) : >>> 'Calloc' could not allocate memory (214748364800 of 1 bytes) >>> > p <- paste0("SELECT id_model, description FROM >>> [tempo_permanencia_models] WHERE id_model = 1022") >>> > sqlQuery(conn, p) # >>> id_model description >>> 1 1022 Teste de serialização objeto pequeno >>> >>> Reparem que o objeto está salvo no servidor. Foi salvo a partir do R, >>> mas não retorna para o R por conta do erro de memoria. Eu não estou sabendo >>> nem por onde começar. >>> >>> Que a força esteja sempre com vocês e abraço forte. >>> >>> Pedro Brasil >>> >>> _______________________________________________ >>> R-br mailing list >>> R-br@listas.c3sl.ufpr.br >>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br >>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça >>> código mínimo reproduzível. >>> >> >> >
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forne�a c�digo m�nimo reproduz�vel.