用R读取MS SQLServer 的MDF文件

今天客户发了两个文件enjoy_interface.ldf 和enjoy_interface.mdf,从后缀可以看出是微软的SQL Server数据库文件,可我系统上并没有安装SQL Server或者Express。网上搜索了一番,发现至少需要SqlLocalDB
0
找到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)

41
2 3

接下来就可以在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)