sqlquery icon indicating copy to clipboard operation
sqlquery copied to clipboard

sqlquery doesn't work with RODBC

Open philibe opened this issue 6 years ago • 4 comments

Bonjour ;)

DreamRs/sqlquery could be helpful but it doesn't work with RODBC.

library(RODBC)
library(RODBCext)
connexion_bdd_odbc_txt<- 'driver={ODBC Driver 17 for SQL Server}; server=xxxx,yyyy;database=ma_base_de_donnee;uid=uuuu;pwd=pppp;')
connexion_bdd<-odbcDriverConnect(connexion_bdd_odbc_txt)
library(sqlquery)
sql_query(conn = connexion_bdd)
Error in (function (classes, fdef, mtable)  : 
  unable to find an inherited method for function ‘dbListTables’ for signature ‘"RODBC"’

philibe avatar Jan 07 '19 10:01 philibe

sessionInfo()
R version 3.4.4 (2018-03-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.4 LTS

Matrix products: default
BLAS: /usr/lib/libblas/libblas.so.3.6.0
LAPACK: /usr/lib/lapack/liblapack.so.3.6.0

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8       
 [4] LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
[10] LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

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

other attached packages:
 [1] sqlquery_0.0.1.900    bindrcpp_0.2.2        tidyr_0.8.1           stringr_1.3.1        
 [5] gtools_3.5.0          devtools_1.13.6       collapsibleTree_0.1.6 dplyr_0.7.5          
 [9] statnet.common_4.0.0  xtable_1.8-3          shinydashboard_0.7.0  RODBCext_0.3.1       
[13] RODBC_1.3-15          shinyRGL_0.1.0        rgl_0.95.1441         rDolphin_0.2.0       
[17] BiocInstaller_1.28.0  shinyjs_1.0           DT_0.4                plotly_4.7.1         
[21] ggplot2_2.2.1         shiny_1.2.0          

loaded via a namespace (and not attached):
  [1] tidyselect_0.2.4       mQTL_1.0               heatmaply_0.14.1      
  [4] htmlwidgets_1.3        grid_3.4.4             TSP_1.1-6             
  [7] trimcluster_0.1-2      ranger_0.9.0           munsell_0.5.0         
 [10] codetools_0.2-15       miniUI_0.1.1.1         withr_2.1.2           
 [13] colorspace_1.3-2       rgexf_0.15.3           qtl_1.42-8            
 [16] rstudioapi_0.8         geometry_0.3-6         stats4_3.4.4          
 [19] robustbase_0.93-0      dimRed_0.1.0           shinyWidgets_0.4.4    
 [22] mnormt_1.5-5           downloader_0.4         ipred_0.9-6           
 [25] itertools_0.1-3        randomForest_4.6-14    gclus_1.3.1           
 [28] diptest_0.75-7         R6_2.3.0               seriation_1.2-3       
 [31] fields_9.6             flexmix_2.3-14         DRR_0.0.3             
 [34] bitops_1.0-6           assertthat_0.2.0       promises_1.0.1        
 [37] scales_1.0.0           nnet_7.3-12            gtable_0.2.0          
 [40] ddalpha_1.3.3          spam_2.1-4             timeDate_3043.102     
 [43] rlang_0.3.0.1          CVST_0.2-2             RcppRoll_0.2.2        
 [46] splines_3.4.4          lazyeval_0.2.1         ModelMetrics_1.1.0    
 [49] impute_1.52.0          broom_0.4.4            brew_1.0-6            
 [52] yaml_2.2.0             reshape2_1.4.3         abind_1.4-5           
 [55] httpuv_1.4.5.9002      MassSpecWavelet_1.44.0 caret_6.0-80          
 [58] DiagrammeR_1.0.0       tools_3.4.4            lava_1.6.1            
 [61] influenceR_0.1.0       psych_1.8.4            gplots_3.0.1          
 [64] RColorBrewer_1.1-2     Rcpp_1.0.0             plyr_1.8.4            
 [67] visNetwork_2.0.3       purrr_0.2.4            rpart_4.1-13          
 [70] viridis_0.5.1          sfsmisc_1.1-2          cluster_2.0.7-1       
 [73] apcluster_1.4.5        magrittr_1.5           data.table_1.11.4     
 [76] baseline_1.2-1         SparseM_1.77           mvtnorm_1.0-7         
 [79] whisker_0.3-2          hms_0.4.2              mime_0.6              
 [82] XML_3.98-1.11          mclust_5.4             gridExtra_2.3         
 [85] compiler_3.4.4         tibble_1.4.2           maps_3.3.0            
 [88] KernSmooth_2.23-15     htmltools_0.3.6        later_0.7.5.9001      
 [91] snow_0.4-2             lubridate_1.7.4        DBI_1.0.0             
 [94] magic_1.5-8            MASS_7.3-50            fpc_2.1-11            
 [97] data.tree_0.7.5        Matrix_1.2-14          readr_1.1.1           
[100] gdata_2.18.0           parallel_3.4.4         dotCall64_0.9-5.2     
[103] bindr_0.1.1            gower_0.1.2            igraph_1.2.1          
[106] pkgconfig_2.0.2        missRanger_1.0.3       registry_0.5          
[109] foreign_0.8-70         recipes_0.1.2          xml2_1.2.0            
[112] foreach_1.4.4          missForest_1.4         webshot_0.5.0         
[115] minpack.lm_1.2-1       speaq_2.3.1            prodlim_2018.04.18    
[118] rvest_0.3.2            digest_0.6.18          Rook_1.1-1            
[121] dendextend_1.8.0       curl_3.2               kernlab_0.9-26        
[124] modeltools_0.2-21      nlme_3.1-137           outliers_0.14         
[127] jsonlite_1.6           viridisLite_0.3.0      pillar_1.2.2          
[130] lattice_0.20-35        httr_1.3.1             DEoptimR_1.0-8        
[133] survival_2.42-3        glue_1.2.0             FNN_1.1               
[136] prabclus_2.2-6         iterators_1.0.9        class_7.3-14          
[139] stringi_1.2.2          doSNOW_1.0.16          caTools_1.17.1        
[142] memoise_1.1.0    

philibe avatar Jan 07 '19 10:01 philibe

Salut! Oui pour l'instant cela ne fonctionne qu'avec des packages compatibles avec DBI, as-tu essayé de te connecter à ta BDD avec le package odbc ? https://db.rstudio.com/odbc/

Probablement qque comme ça :

DBI::dbConnect(odbc::odbc(), 
          Driver = "{ODBC Driver 17 for SQL Server}", 
          Server = "xxxx", 
          Database = "ma_base_de_donnee", 
          uid = "uuuu",
          pwd ="pppp")

Victor

pvictor avatar Jan 08 '19 13:01 pvictor

  • sql_query_app(conn)

    • Effectivement avec DBI sql_query_app(conn) fonctionne. :) (*)
    • il n'y pas de fonctionnalité de complétion
  • sql_query(conn)

    • la fonctionnalité de complétion sql_query(conn) ne fonctionne pas sur ma base SQL Server
    • un requêteur sans bouton Execute, j'ai du mal à voir l'intérêt :)

C'est intéressant je reviendrai quand ça sera plus étoffé. :)

Je ne ferme pas car il s'agissait de RODBC

(*)=D'ailleurs ça serait une bonne occasion pour moi d'essayer de passer mon appli Shiny de RODBC vers DBI et RStudio odbc puisque je soupçonne RODBC de déconnexions intempestives.

philibe avatar Jan 09 '19 10:01 philibe

pvictor :

Oui pour l'instant cela ne fonctionne qu'avec des packages compatibles avec DBI, as-tu essayé de te connecter à ta BDD avec le package odbc ?

moi:

D'ailleurs ça serait une bonne occasion pour moi d'essayer de passer mon appli Shiny de RODBC vers DBI et RStudio odbc puisque je soupçonne RODBC de déconnexions intempestives.

En tout cas, merci @pvictor de m'avoir incité à utiliser DBI avec le package odbc, car même si pour l'instant je n'utilise pas dreamRs/sqlquery, car pas assez étoffé, j'ai changé toutes mes connexions RODBC par le couple DBI Rstudio/odbc: c'est beaucoup beaucoup plus stable, je n'ai plus aucune déconnexions intempestives depuis un mois que j'ai fait ce changement. :)

https://github.com/rstudio/shiny/issues/2262#issuecomment-455232752

philibe avatar Feb 21 '19 10:02 philibe