标签: rmysql

在R中使用RMySQL时,dbSendQuery仅返回500行

RMySQL用来查询数据库.

我用了

df <- fetch(dbSendQuery(con, "SELECT some_col from some_table"))

并收到这条消息:

Error in fetch(dbSendQuery(con, "SELECT some_col from some_table")) : 
  error in evaluating the argument 'res' in selecting a method for function 'fetch': Error in .local(conn, statement, ...) : 
  connection with pending rows, close resultSet before continuing
Run Code Online (Sandbox Code Playgroud)

奇怪的df是,实际上是创造了; 500 obs. of 1 variables它确实让我回到了我对这500个人的预期.

  • 该表some_table有292,000行,对于R来说应该不是问题.

  • 我在我的模式中尝试了各种其他表(例如 some_other_table),并得到了相同的结果.所以它似乎与fetch功能本身有关.

  • 我尝试使用dbGetQuery,并dbFetch没有成功.

这个错误是什么意思,我怎样才能获得表中的所有行?

跟进

我发现我可以通过使用来啜饮整张桌子

dbReadTable(con, 'some_table')

r rmysql

4
推荐指数
1
解决办法
4999
查看次数

使用存储的凭据通过dplyr连接到MySQL数据库

我想使用MySQL数据库,dplyr而无需将我的数据库密码存储在平面文本R代码中.因此,我更喜欢引用我的.my.cnf文件,但由于src_mysql具有主机,用户和密码的默认参数,我可以找到的唯一方法是通过相当优雅:

test_db <- src_mysql("test",
                     default.file=path.expand("~/.my.cnf"),
                     host=NULL,
                     user=NULL,
                     password=NULL)
Run Code Online (Sandbox Code Playgroud)

是否有一种不那么冗长的方式从dplyr存储凭证连接到MySQL数据库?

r rmysql dplyr

4
推荐指数
1
解决办法
509
查看次数

从 R 连接到 MySQL

我正在尝试从 R 连接到 MySQL。我在我的机器上安装了“8.0.11 MySQL Community Server - GPL”。在 R studio 中,我已经安装了 RMySQL 库。

当我发出命令时:

con = dbConnect(RMySQL::MySQL(),user="root", password = "password", dbname="test")
Run Code Online (Sandbox Code Playgroud)

我不断收到错误:

.local(drv, ...) 中的错误:无法连接到数据库:错误:未知数据库“测试”

我不知道为什么它不断出现这个错误。有什么建议?

mysql r rmysql

4
推荐指数
1
解决办法
1万
查看次数

如何在不同的MySQL表中指定具有不同名称的连接变量

我需要连接两个表,其中我想要使用的公共列ID在每个表中具有不同的名称.这两个表有一个"false"公共列名,当dplyr采用默认值并加入列"id"时,该名称不起作用.

以下是此问题涉及的一些代码

library(dplyr)
library(RMySQL)

SDB <- src_mysql(host = "localhost", user = "foo", dbname = "bar", password = getPassword())
# Then reference a tbl within that src
administrators <- tbl(SDB, "administrators")
members <- tbl(SDB, "members")
Run Code Online (Sandbox Code Playgroud)

这里有3次尝试 - 都失败了 - 传递成员方的公共列是"id"的信息,而在管理员方面,它是"idmember":

sqlq  <- semi_join(members,administrators, by=c("id","idmember"))
sqlq  <- inner_join(members,administrators, by= "id.x = idmember.y")
sqlq  <- semi_join(members,administrators, by.x = id, by.y = idmember)
Run Code Online (Sandbox Code Playgroud)

这是我得到的各种错误消息的示例:

mysqlExecStatement(conn,statement,...)出错:RS-DBI驱动程序:(无法运行语句:'where子句'中的未知列'_LEFT.idmember')

我在那里看到的例子涉及R侧的数据表和数据帧.我的问题是关于dplyr如何将"by"语句发送到SQL引擎.

mysql r rmysql dplyr

3
推荐指数
1
解决办法
1396
查看次数

RMySQL错误地查询类型为bit的列

我们有一个数据库,几个列的类型为bit。使用RMySQL软件包查询它们时,将返回不正确的结果。要重现,请在SQL提示符下:

CREATE TABLE suppliers
( aId varchar(10) not null,
  aBit bit not null
);

INSERT INTO suppliers (aId, aBit) VALUES ("First", 0);
INSERT INTO suppliers (aId, aBit) VALUES ("Second", 1);
INSERT INTO suppliers (aId, aBit) VALUES ("Third", 0);
INSERT INTO suppliers (aID, aBit) VALUES ("Fourth", 1);
Run Code Online (Sandbox Code Playgroud)

然后,我可以运行:

select * from suppliers
Run Code Online (Sandbox Code Playgroud)

我得到:

+--------+------+
| aId    | aBit |
+--------+------+
| First  |      |
| Second | ?    |
| Third  |      |
| Fourth | ?    |
+--------+------+
4 rows …
Run Code Online (Sandbox Code Playgroud)

mysql r rmysql

3
推荐指数
1
解决办法
366
查看次数

没有使用RMySQL选择数据库

我正在尝试连接到远程可公开访问的MySQL服务器EnsEMBL公共服务器RMySQL,但是当我尝试列出表时,会发生错误:

library(RMySQL)

mydb = dbConnect(MySQL(), 
                 user = 'anonymous',
                 port = 5306,
                 host = 'asiadb.ensembl.org')

dbListTables(mydb)

Error in .local(conn, statement, ...) : 
  could not run statement: No database selected
Run Code Online (Sandbox Code Playgroud)

有没有办法找出这个名字?或者我是否完全犯了一个完全不同的错误?

r rmysql

3
推荐指数
1
解决办法
1699
查看次数

RMySQL fetch - 找不到继承的方法

使用RMySQL我想将数据从数据库加载到R中的数据帧.为此,我使用以下代码:

Rconnectdb:

con <- dbConnect(MySQL(),
user="root", password="password",
dbname="prediction", host="localhost")
Run Code Online (Sandbox Code Playgroud)

主要代码

library(RMySQL)
source("Rconnectdb") #load the database connection
query = "select received,isRefound from message" #specify query
rs=dbGetQuery(con,query) #resultset
dataset <- fetch(rs, n=-1) #fill dataset with all rows of the resultset
dbClearResult(rs) #clear resultset
Run Code Online (Sandbox Code Playgroud)

执行此操作我收到以下错误

函数错误(classes,fdef,mtable):无法找到函数"fetch"的继承方法,签名"data.frame","numeric"

有任何想法吗?

mysql r rmysql

2
推荐指数
1
解决办法
2938
查看次数

安装RMySQL for Mac

我尝试安装Mysql包(MAC OS)时出现以下错误

install.packages('RMySQL')

  package ‘RMySQL’ is available as a source package but not as a binary

Warning in install.packages :
 package ‘RMySQL’ is not available (for R version 3.1.0)
Run Code Online (Sandbox Code Playgroud)

我不确定我需要设置什么才能使其工作.

r rmysql

2
推荐指数
1
解决办法
5456
查看次数

如何将整个数据帧写入R中的mySql表

我有一个数据框,其中包含“ Quarter”列,其值类似于“ 16/17 Q1”,“ 16/17 Q2” ...和“ Vendor”,其值诸如“ a”,“ b”...。

我正在尝试使用以下方式将数据框写入数据库

query <- paste("INSERT INTO cc_demo (Quarter,Vendor) VALUES(dd$FY_QUARTER,dd$VENDOR.x)")
Run Code Online (Sandbox Code Playgroud)

但是它抛出错误:

Error in .local(conn, statement, ...) : 
Run Code Online (Sandbox Code Playgroud)

无法运行语句:“字段列表”中的未知列“ dd $ FY_QUARTER”

我是Rmysql的新手,请提供一些解决方案以编写整个数据帧?

mysql r rmysql

2
推荐指数
1
解决办法
3389
查看次数

如何为Windows安装RMySQL包?

由于RMySQL包的二进制文件不可用,我无法在Windows上安装它.

我抬头看了网.我找到了这个链接.http://www.ahschulz.de/2013/07/23/installing-rmysql-under-windows/comment-page-1/#comment-3123

我按照说明操作,但是我收到了错误.

这是我得到的最终输出

>install.packages('RMySQL',type='source')
Run Code Online (Sandbox Code Playgroud)

将软件包安装到'C:/Users/admin/Documents/R/win-library/3.0'(未指定'lib'),同时安装依赖项'DBI'

试图URL ' http://cran.rstudio.com/src/contrib/DBI_0.2-7.tar.gz '内容类型'应用程序/ x-gzip的'长度194699个字节(190 KB)打开URL下载190 KB

尝试网址' http://cran.rstudio.com/src/contrib/RMySQL_0.9-3.tar.gz '内容类型'application/x-gzip'长度165363字节(161 Kb)已打开网址下载161 Kb

安装包'DBI'...包'DBI'成功解压缩并且MD5求和已检查R inst准备包延迟加载从包'DBI'中的包'base'创建'summary'的通用函数帮助安装帮助索引构建包如果安装的软件包可以加载arch,安装晕影测试的索引 - i386 arch - x64 DONE(DBI)

安装包'RMySQL'...**包'RMySQL'成功解压缩并检查MD5总和检查$ MYSQL_HOME ... C:\ Program Files\MySQL\MySQL Server 5.6\cygwin警告:检测到MS-DOS样式路径: C:\ Program Preferred POSIX等效于:/ cygdrive/c/Program

CYGWIN环境变量选项"nodosfilewarning"将关闭此警告.有关POSIX路径的更多详细信息,请参阅用户指南:http: //cygwin.com/cygwin-ug-net/using.html#using-pathnames test:Files\MySQL\MySQL:unknown operand

**libs警告:这个包有一个非空的'configure.win'文件,因此只构建主体系结构

cygwin警告:检测到MS-DOS样式路径:C:/PROGRA~1/R/R-30~1.1/etc/x64/Makeconf首选POSIX等价物:/ cygdrive/c/PROGRA~1/R/R-30~ 1.1/etc/x64/Makeconf CYGWIN环境变量选项"nodosfilewarning"关闭此警告.有关POSIX路径的更多详细信息,请参阅用户指南:http: //cygwin.com/cygwin-ug-net/using.html#using-pathnames

gcc -m64 -I"C:/PROGRA~1/R/R-30~1.1/include"-DNDEBUG -I"C:\ Program Files\MySQL\MySQL Server 5.6 \"/ include -I"d:/ RCompile/CRANpkg/extralibs64/local/include"-O2 -Wall -std = gnu99 -mtune = core2 -c RS-DBI.c -o …

mysql r rmysql

1
推荐指数
1
解决办法
9881
查看次数

标签 统计

r ×10

rmysql ×10

mysql ×6

dplyr ×2