楼主: 数据小宝
455 3

[问答] RODBC链接oracle数据框字符报错 [推广有奖]

  • 1关注
  • 0粉丝

本科生

75%

还不是VIP/贵宾

-

威望
0
论坛币
53 个
通用积分
2.0153
学术水平
1 点
热心指数
0 点
信用等级
0 点
经验
1384 点
帖子
74
精华
0
在线时间
140 小时
注册时间
2014-9-27
最后登录
2024-2-18

楼主
数据小宝 学生认证  发表于 2024-1-16 10:45:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位老师,最近在尝试使用RODBC包链接oracle数据框,可以链接但是执行语句时提示字符报错。已经设置好了ODBC数据源64位,安装的oracle也是64位,ODBC数据源测试是链接成功的。oracle数据库里执行语句select userenv('language') from dual  ,结果是SIMPLIFIED CHINESE_CHINA.ZHS16GBK。也已经在系统中设置了NLS_LANG环境变量,另外在Rstudio中也设置了
Sys.setenv(NLS_LANG = "SIMPLIFIED CHINESE_CHINA.ZHS16GBK")
但是依旧报错,具体报错代码如图,请指导:

oracle数据库执行语句.png ODBC配置.png R代码报错.png

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Oracle RODBC Rod CLE ACL

沙发
数据小宝 学生认证  发表于 2024-1-16 15:17:27
找到一个间接的解决方法,不select *,只取要的列,然后iconv转一下编码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
drunkfish69 发表于 2024-1-27 06:32:31
不考虑用ROracle包?
给个查工单的例子,其中很多字段都是中文的,好像没碰到过字符转换的问题
  1. ibrary(tidyverse)
  2. library(ROracle)

  3. # setup the connection to Oracle

  4. drv <- dbDriver('Oracle')
  5. host <- '192.168.1.22'
  6. port <- 1521
  7. sid <- 'IQTEST'
  8. connect.string <- paste(
  9.   "(DESCRIPTION=",
  10.   "(ADDRESS=(PROTOCOL=tcp)(HOST=", host, ")(PORT=", port, "))",
  11.   "(CONNECT_DATA=(SID=", sid, ")))", sep = ""
  12. )
  13. con <- dbConnect(drv, username = "IQMS", password = "iqms",
  14.                  dbname = connect.string)

  15. workorder.id <- 1832

  16. qry <- dbSendQuery(con, "select * from WORKORDER where ID = workorder.id")
  17. workorder <- fetch(qry)
复制代码

板凳
数据小宝 学生认证  发表于 2024-2-18 16:19:16
drunkfish69 发表于 2024-1-27 06:32
不考虑用ROracle包?
给个查工单的例子,其中很多字段都是中文的,好像没碰到过字符转换的问题
我电脑的环境下载不了Roracle,医院的电脑环境比较复杂。反正解决了就好。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-20 11:58