douting0585 2017-09-22 01:28
浏览 64
已采纳

Golang Mysql connectex套接字块

I use the "go-sql-driver/mysql" driver. I have a product table that has a few dependencies. So i Select the product and get dependencies that would create cartesian products in subqueries. Usually there is a 200 products limit to have a better performance but in rare cases the limit will be removed or raised to lets say 3000-5000 then then i will get the following error:

dial tcp 127.0.0.1:3306: connectex: Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden.

which basically means:

connectex: Use every Socketaddress only once.

This is a snipped from my code, basically all my query-functions are build like that:

mysql := this.DBController.Connect()
defer mysql.Close()
.
.
.
for rows.Next() {
    err := rows.Scan(&x, &y, &z)
    if err != nil {
        log.Println("DBFetchMachines: Scan Error")
        log.Println(err)
    }
    product.PurchasePrice = this.priceR.DBFetchPurchasePriceByProductID(product.ID)
    product.SellingPrice = this.priceR.DBFetchSellingPriceByProductID(product.ID)
    product.DealerContact = this.contactR.DBGetBasicContact(product.DealerContact.ID)
    .
    .
    .
}

When i just query 200-1000 rows there is no issue. Is this maybe a OS related issue? I use Win10 64Bit as my dev machine.

  • 写回答

1条回答 默认 最新

  • dongroufan6846 2017-11-16 23:54
    关注

    As reticentroot in the comments suggested i checked alexedwards.net/blog/organising-database-access for some best practices examples. I choose Dependency injection and it works like a charm.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥20 校园网认证openwrt插件
  • ¥15 以AT89C51单片机芯片为核心来制作一个简易计算器,外部由4*4矩阵键盘和一个LCD1602字符型液晶显示屏构成,内部由一块AT89C51单片机构成,通过软件编程可实现简单加减乘除。
  • ¥15 某东JD算法逆向算法
  • ¥15 求GCMS辅导数据分析
  • ¥30 SD中的一段Unet下采样代码其中的resnet是谁跟谁进行残差连接
  • ¥15 Unet采样阶段的res_samples问题
  • ¥60 Python+pygame坦克大战游戏开发实验报告
  • ¥15 R语言regionNames()和demomap()无法选中中文地区的问题
  • ¥15 Open GL ES 的使用
  • ¥15 我如果只想表示节点的结构信息,使用GCN方法不进行训练可以吗
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部