用R读取MS SQLServer 的MDF文件
今天客户发了两个文件enjoy_interface.ldf 和enjoy_interface.mdf,从后缀可以看出是微软的SQL Server数据库文件,可我系统上并没有安装SQL Server或者Express。网上搜索了一番,发现至少需要SqlLocalDB

找到SqlLocalDB.exe的目录,默认是: C:\Program Files\Microsoft SQL Server\120\Tools\Binn
命令行下运行
SqlLocalDB -c enjoy_interface -s#创建并运行enjoy_interface实例
然后按图示创建DSN(注意选择SQL Server Native Client 11.0)



接下来就可以在R中使用我们创建的DSN了
library("RODBC")
crs$odbc <- odbcConnect("localdb", believeNRows=TRUE)
crs$odbc.tables <- sqlTables(crs$odbc)$TABLE_NAME
crs$sale <- sqlQuery(crs$odbc, "SELECT * FROM tb_sale")
#crs$cust <- sqlQuery(crs$odbc, "SELECT * FROM tb_cust")
#报错
# Error in as.POSIXlt.character(x, tz, ...) :
# character string is not in a standard unambiguous format
#解决办法,强制转换
crs$cust <- sqlQuery(crs$odbc, "SELECT * FROM tb_cust",as.is=T)