gpt4 book ai didi

sql-server - 无法使用Golang从SQL Server查询数据-获取错误 “Invalid object name”

转载 作者:行者123 更新时间:2023-12-01 22:08:26 26 4
gpt4 key购买 nike

我正在尝试使用Golang和GORM从SQL Server查询数据。但我得到以下错误:-

DB Connection: &{{{0 0} 0 0 0 0} <nil> <nil> 0 0xc0000a4480 false 0 {0xc0000e5db0} <nil> {{0 0} {<nil>} map[] 0} 0xc00004c5b0 0xaccbe0 0xc00014d0a0 false <nil>}

HasTable- Currency: true
{CurrencyId:0 Code: Description:}

[35m(C:/Users/RahulBFL/Documents/architechbc/dot net/GORM/main.go:26)[0m
[33m[2019-12-27 15:56:13][0m [31;1m mssql: Invalid object name 'currencies'. [0m

我的表架构如下所示:-
     Currency
CurrencyId int
Code char
Description varchar

在SSMS上,我可以使用以下命令成功查询表
select * from IMBookingApp.dbo.Currency

我的Golang代码
package main

import (
"fmt"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mssql"
)

type Currency struct {
CurrencyId int
Code string
Description string
}

func main() {

db, err := gorm.Open("mssql", "sqlserver://USERNAME:PASSWORD@Endpoint:1433?database=DATABASENAME&Initial+Catalog=SCHEMA_NAME")

if err != nil {
fmt.Println("Connection Error:", err)
}

fmt.Println("DB Connection", db)


fmt.Println("HasTable- Currency:", db.HasTable("ClientUser"))

var Currency Currency
db.Find(&Currency)

fmt.Printf("%+v\n", Currency)

defer db.Close()
}

我不明白为什么会收到错误消息-无效的对象名称“currencies”。尽管架构中没有 货币,但只有 货币

任何帮助将不胜感激。

最佳答案

如果检查错误Invalid object name 'currencies',它将尝试查找名为currencies的表。默认情况下,gorm将表名复数。如果您想要一个自定义表名,可以如下定义:

func (Currency) TableName() string {
return "currency"
}

或者您可以使用以下命令全局禁用它:
db.SingularTable(true)

因此,您的示例应如下所示:
type Currency struct {
CurrencyId int
Code string
Description string
CreateDate time.Time
}

func (Currency) TableName() string {
return "currency"
}


func main() {
db, err := gorm.Open("mssql", "sqls*******talog=dbo")

db.SingularTable(true)

fmt.Println("db.HasTable: Currency:", db.HasTable("ClientUser"))

var Currency []Currency

db.Find(&Currency)

....
}

关于sql-server - 无法使用Golang从SQL Server查询数据-获取错误 “Invalid object name”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59499577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com