草庐IT

DB-Server

全部标签

go - 无法在 go lang 中分配 *gorm.DB

我正在尝试从gorm.Open()返回一个实例,返回它我收到以下错误controllers/db.go:34:cannotassign*gorm.DBtodc.DB(typegorm.DB)inmultipleassignment这是db.goControllerpackagecontrollersimport(//"fmt"_"github.com/go-sql-driver/mysql"//v"github.com/spf13/viper""github.com/jinzhu/gorm")typeDBControllerstruct{DBgorm.DB}func(dc*DBCont

Go 查询 (db2) 不提供表中的所有字符 (utf-8)

表达我的问题很复杂,我尝试:我有一个DB2表(内部代码页CP850)createtablecodes(codecharacter(2))使用utf-8字符的数据集insertintocodesvalues('ÖÖ')在linux下,db2-clientsselect*fromcodes交付codeÖÖ正如预期的那样。现在对于Go部分,这是有问题的。我的模型看起来像packagecodestypeCodestruct{Codedb.NullString`json:"code"sql:"code"`}typeCodes[]*Code我的查询看起来像packagecodesfuncFindA

sql-server - 使用并行插入语句在 SQL Server 上连接耗尽

我的应用程序:我用Go编写了一个脚本,通过FTP获取大量(>10k)JSON文件,并将内容写入本地SQLServer2016实例中的表。导入一个文件夹后,它会触发一个T-SQL过程来处理进一步的数据处理。总的来说,这个解决方案似乎工作得很好。但是,我需要高度的并行操作才能有足够的性能。通常,每个文件大约有2,000个条目,我需要为每个文件夹导入大约5,000个文件。SQLServer在本地运行,语句的性能不是问题。执行结构:文件列表通过FTP检索,每个文件名都交给一个Goroutine。go-routine获取文件(也通过FTP),解析它并触发SQL插入。在应用程序开始时准备一个简单的

postgresql - 如何在 Go 应用程序中处理打开/关闭 Db 连接?

我的WebAPI应用程序中有一组函数。他们对Postgres数据库中的数据执行一些操作。funcCreateUser(){db,err:=sql.Open("postgres","user=postgrespassword=passworddbname=api_devsslmode=disable")//Dosomedboperationshere}我想函数应该相互独立地与db一起工作,所以现在我在每个函数中都有sql.Open(...)。我不知道这是否是管理数据库连接的正确方法。我是否应该在应用程序启动后在某个地方打开它,并将db作为参数传递给相应的函数,而不是在每个函数中打开连接?

go - 在 go 中测试连接到 db 的处理程序

我有一个连接到数据库并检索记录的处理程序。我为此写了一个测试用例,它是这样的:main_test.gopackagemainimport("os""fmt""testing""net/http""net/http/httptest")varaAppfuncTestMain(m*testing.M){a=App{}a.InitializeDB(fmt.Sprintf("postgres://****:****@localhost/db?sslmode=disable"))code:=m.Run()os.Exit(code)}funcTestRulesetGet(t*testing.T){

windows - 一个文件两个不同的输出 - Windows Server 2012

我的程序读取一个sql文件并在数据库上执行操作。我昨天通过记事本编辑了服务器上的一个sql文件。我今天又通过记事本对同一个文件进行了一次更改。当程序读入文件时,我对sql所做的更改不存在。将sql内容打印到控制台显示二进制文件正在读取昨天的版本。这里有什么黑魔法在起作用?删除文件不起作用。如果我再次创建它,创建日期时间戳是从1个月前开始的。修改日期是昨天的。在记事本、写字板中打开文件,任何您能想到的文本阅读器都会显示正确的内容。二进制读取昨天的版本。这是二进制文件读取文件的方式file,err:=ioutil.ReadFile("appointment.sql")iferr!=nil{

mysql - Golang mysql 客户端 DB.Query 方法不重新编码 utf-8 编码的字符

我有一个mysql表,它的某些列中存储了UTF-8字符。该表是使用DEFAULTCHARSET=utf8创建的;如果我手动运行select语句,我可以看到UTF-8字符,但如果我使用golang客户端并使用DB.Query方法然后我看到字符都是乱码!此外,插入也是从golang客户端完成的。为什么插入内容很好,而读取却出现乱码?在进行查询时,我看不到任何用于设置字符集的参数。我错过了什么? 最佳答案 所以当行被插入数据库时​​,客户端字符集是latin1。默认情况下,golang客户端使用的是utf8。使用utf8再次插入所有行,现

mysql - 在go中连接到db mysql

我目前正在一个go项目中工作。我需要连接到mysql数据库并做一些事情。目前,我遇到了连接问题。首先,我从各种可能的来源(CLI、配置文件或启动参数,视情况而定)加载并存储数据库凭证dbCredentials=DatabaseCredentials{DRIVER_NAME,BOT_LOGIN_NAME+":"+BOT_PASSWORD+"@tcp("+HOST_NAME+")/"+NAME_OF_DB}稍后我尝试打开连接:db,err:=sql.Open(dbCredentials.driverName,dbCredentials.dataSourceName)checkErr(err

go - DB.Exec args 总是导致我的占位符出错

我有一个SQL脚本,其中包含一个我想从Golang设置的变量。SET@foo_bar_invitation_id=?;SELECT@foo_bar_invitation_id;即我要设置?到“foobar”。我的代码:packagemainimport("io/ioutil""log""database/sql"_"github.com/go-sql-driver/mysql")typehandlerstruct{db*sql.DB}func(hhandler)runsql()(errerror){sqlscript,err:=ioutil.ReadFile("script.sql")

go - 如何获取 db2cmd 运行的 DB2 命令的输出?

我编写了一个Gocli程序并使用Windowscmd运行它。然后它执行了以下命令:db2cmd-cDB2RESTOREDATABASEDMSCNDBFROM"C:/DB"TAKENAT20180522033009ONC:INTODMSCNDBWITHOUTPROMPTING这是我使用的Go代码:cmd:=exec.Command("db2cmd","-c",arg)buf,err:=cmd.Output()iferr!=nil{log.Fatalf("Failedrestoringbackupwitherror:%s\r\n",err)}else{log.Printf("Success