2016-04-14 11 views
0

パッケージRODBCを使用してmdbファイルにアクセスしようとしています。 mdbファイルはESRI GISで作成されます。 属性テーブルの一部のエントリを変更したいとします。 試してみるとRODBC sqlFetch関数がクラッシュする

sqlQuery(channnel = rddall, "SELECT* FROM abt_F;") 
sqlFetch(channel=rddall,"txt_L ") 

Rがクラッシュします。遅すぎる可能性が高い

Screenshot

> sessionInfo() 
R version 3.1.2 (2014-10-31) 
Platform: i386-w64-mingw32/i386 (32-bit) 

locale: 
[1] LC_COLLATE=German_Austria.1252 LC_CTYPE=German_Austria.1252 LC_MONETARY=German_Austria.1252 
[4] LC_NUMERIC=C     LC_TIME=German_Austria.1252  

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

other attached packages: 
[1] RODBC_1.3-12 brew_1.0-6  Hmisc_3.15-0 ggplot2_1.0.0 Formula_1.2-1 survival_2.37-7 
[7] lattice_0.20-29 rgdal_1.1-8  sp_1.2-2  

loaded via a namespace (and not attached): 
[1] acepack_1.3-3.3  cluster_1.15.3  colorspace_1.2-5 digest_0.6.8  foreign_0.8-61  
[6] gtable_0.1.2  latticeExtra_0.6-26 MASS_7.3-35   munsell_0.4.2  nnet_7.3-8   
[11] plyr_1.8.3   proto_0.3-10  RColorBrewer_1.1-2 Rcpp_0.11.5   reshape2_1.4.1  
[16] rpart_4.1-10  scales_0.2.4  stringr_0.6.2  tcltk_3.1.2   tools_3.1.2  

答えて

0

が、私はちょうど同じような問題に遭遇した後に、この質問に出くわしました。私がArcGISで作成した.mdbからテーブルを直接sqlFetchにしようとしたときにRがクラッシュしていました。そして、別の非GIS .mdb経由でテーブルをフェッチしようとしたときに(そのテーブルを外部リンクテーブル、GIS .mdbから)。私は最終的に、最初のテーブルを基本的に複製する非GISの.mdbでクエリを作成したときに、Rをテーブルに正しくロードするようにしました(ただし、クエリで不要な列をいくつか落としました)。さて、私はそのままGIS以外の.mdbにクエリを残しました。sqlFetchというクエリが正常に動作しています。 Rソリューションではありませんが、一部の人々にとってはうまくいく可能性のある回避策です。