小编use*_*276的帖子

在 Ubuntu 中使用 R 在 ODBC 上连接到 Microsoft SQL Server

我能够让它在 Windows 7 上完全运行,但我必须将它移到 Linux 服务器上。我现在正在 VM 中运行 Ubuntu 16.04.1 LTS 64 位以进行测试,然后再在服务器上复制该过程。

我很确定问题出在我的 FreeTDS 或 DSN 设置中。
我应该停止浪费时间而只使用 Python 吗?或者我会在 ODBC 和 unixODBC 上遇到同样的问题吗?

完整的 R 脚本:

library(RODBC)

#saving from a .csv to dataframe df
df <- read.csv("./Documents/test.csv")

#creating connection to db
conn <- odbcDriverConnect('myDSN')

#writing
sqlSave(conn, df, tablename = 'dbo.test0', append = F, rownames = F, verbose = TRUE, safer = true, fast = F)
Run Code Online (Sandbox Code Playgroud)

控制台

> conn <- odbcDriverConnect('myDSN')
Run Code Online (Sandbox Code Playgroud)

返回错误信息:

Warning messages:
1: In odbcDriverConnect("myDSN") :
  [RODBC] …
Run Code Online (Sandbox Code Playgroud)

sql-server unixodbc freetds rodbc ubuntu-16.04

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

如何合并两个相同结构类型的 Go 值?

我想创建一个调用的函数merge(),它接受相同结构的两个值,但任何结构,并返回两个结构的合并值。

我希望第一个值优先。例如,如果有两个 structab,在调用之后merge(a,b),如果有两个ab包含的字段,我希望它具有a该给定字段的值。

实现这一点的最佳方法是什么? https://play.golang.org/p/7s9PWx26gfz

type cat struct {
name  string
color string
age   int
}

type book struct {
title  string
author string
}

func main() {
c1 := cat{
    name:  "Oscar",
    color: "",
    age:   3,
}

c2 := cat{
    name:  "",
    color: "orange",
    age:   2,
}

c3 := merge(c1, c2)

// want: c3 = cat{
//               name: "Oscar",
//               color: "orange",
// …
Run Code Online (Sandbox Code Playgroud)

merge struct go reflect

4
推荐指数
2
解决办法
6587
查看次数

标签 统计

freetds ×1

go ×1

merge ×1

reflect ×1

rodbc ×1

sql-server ×1

struct ×1

ubuntu-16.04 ×1

unixodbc ×1