ianmcook/implyr

no existing definition for function ‘dbSendQuery’

Closed this issue · 4 comments

I met the "no existing definition for function 'dbSendQuery'" error when I use src_impala like

impala = implyr::src_impala(odbc::odbc(), dsn = "some_dsn_name")

The DSN works well , like
odbc::dbConnect(odbc::odbc(), dsn = "some_dsn_name") %>% odbc::dbGetQuery("some_sql_query")

I don't have any trouble when using JDBC connectivity, but I'd prefer using ODBC as ODBC doesn't require the administrator privilege for Kerberos.

Thank you for your help!

My SessionInfo:
R version 3.3.3 (2017-03-06)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

attached base packages:
[1] stats graphics grDevices utils datasets methods base

loaded via a namespace (and not attached):
[1] odbc_1.0.1 magrittr_1.5 R6_2.2.2 assertthat_0.2.0 RevoUtils_10.0.3
[6] DBI_0.7 tools_3.3.3 glue_1.1.0 dplyr_0.7.0 tibble_1.3.3
[11] implyr_0.2.0 Rcpp_0.12.11 blob_1.0.0 rlang_0.1.1 dbplyr_1.0.0

Thanks for reporting this. I've seen this error occur intermittently and I'm trying to understand why it doesn't always occur. I believe a solution is to load DBI before loading implyr:

library(DBI)
library(implyr)

Does that solve it for you?

👍 Problem solved! Avoiding import namespaces is not always good :)

Thanks a lot!

Thanks. I'm going to reopen this one and leave it open until I implement a better solution.

8bd1c9c fixes this by moving DBI from Imports to Depends.