我正在尝试与R中的PostgreSQL数据库建立连接。
我正在写这个
drv <- dbDriver("PostgreSQL")
但结果我有一个错误:
错误:无法找到驱动程序PostgreSQL。看着:
*全局命名空间
*在名为PostgreSQL的包中 *在名为RPostgreSQL的包中
我做错了什么?
答案 0 :(得分:1)
drv <- DBI::dbDriver("PostgreSQL")
给了我同样的错误,但加载了RPostgreSQL
library("RPostgreSQL")
在进行连接之前解决它。
答案 1 :(得分:0)
包装问题
import os
import PyQt5
include_files = [(os.path.dirname(PyQt5.__file__), "lib")]
packages = ["idna", "sys", "numpy", "pandas"]
options = {
'build_exe': {
'include_files':include_files,
'packages':packages,
},
}
使用此代码时,您必须包括使用驱动程序包的库,这样它不会给您带来错误,请使用此代码,我确信它会起作用
drv <- DBI::dbDriver("PostgreSQL")
这将解决您的问题
答案 2 :(得分:0)
在debian上遇到了同样的问题,得到了帮助:
apt-get -y install r-cran-rpostgresql
答案 3 :(得分:0)
在编写软件包时,我遇到了类似的问题,并且受到以上发现的答案的启发:
const express = require('express');
const router = express.Router();
const bodyParser = require('body-parser');
const session = require('express-session');
const user = require('../components/user');
let sess;
router.post('/createUser', (req, res) => {
user
.createUser({
username: req.body.username,
password: req.body.password,
email: req.body.email
})
.then(() => res.sendStatus(200))
});
router.post('/login', (req, res) => {
sess = req.session;
user
.authenticate({
username: req.body.username,
password: req.body.password
})
.then(({ success, user }) => {
if (success) {res.sendStatus(200); sess.userID = user;}
else res.sendStatus(401)
})
});
router.post('/auth', (req, res) => {
sess = req.session;
if (sess.userID === undefined){
res.redirect('/');
}else{
res.sendStatus(200);
}
});
router.post('/auth/logout', (req, res) => {
sess = req.session;
sess.userID = undefined;
res.redirect('/');
});
router.post('/auth/createCheck', (req, res) => {
sess = req.session;
console.log(sess.userID);
if (!sess.userID === undefined){
res.redirect('/');
}else{
res.sendStatus(200);
}
});
module.exports = router;
使用#' @import RPostgreSQL
的所有函数的顶部均已解决问题。