Golang 连接mssql sql server
时间:2022-05-04
本文章向大家介绍Golang 连接mssql sql server,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
package main
import (
"database/sql"
"fmt"
"strings"
)
import (
_ "github.com/mattn/go-adodb"
)
type Mssql struct {
*sql.DB
dataSource string
database string
windows bool
sa SA
}
type SA struct {
user string
passwd string
port int
}
func (m *Mssql) Open() (err error) {
var conf []string
conf = append(conf, "Provider=SQLOLEDB")
conf = append(conf, "Data Source="+m.dataSource)
if m.windows {
// Integrated Security=SSPI 这个表示以当前WINDOWS系统用户身去登录SQL SERVER服务器(需要在安装sqlserver时候设置),
// 如果SQL SERVER服务器不支持这种方式登录时,就会出错。
conf = append(conf, "integrated security=SSPI")
}
conf = append(conf, "Initial Catalog="+m.database)
conf = append(conf, "user id="+m.sa.user)
conf = append(conf, "password="+m.sa.passwd)
conf = append(conf, "port="+fmt.Sprint(m.sa.port))
m.DB, err = sql.Open("adodb", strings.Join(conf, ";"))
if err != nil {
return err
}
return nil
}
func main() {
db := Mssql{
dataSource: "100.100.20.140\SQLEXPRESS",
database: "test",
// windwos: true 为windows身份验证,false 必须设置sa账号和密码
windows: false,
sa: SA{
user: "a2222",
passwd: "123456",
port: 1222,
},
}
// 连接数据库
err := db.Open()
if err != nil {
fmt.Println("sql open:", err)
return
}
defer db.Close()
// 执行SQL语句
rows, err := db.Query("select * from info")
if err != nil {
fmt.Println("query: ", err)
return
}
for rows.Next() {
var name string
var number int
rows.Scan(&name, &number)
fmt.Printf("Name: %s t Number: %dn", name, number)
}
}
- 【延迟注入】A5站长网某站存在SQL注入漏洞
- hihoCoder #1498 : Diligent Robots【数学】
- Codeforces Round #336 (Div. 2)【A.思维,暴力,B.字符串,暴搜,前缀和,C.暴力,D,区间dp,E,字符串,数学】
- 【防护】如何阻止SELECT * 语句
- COGS 862. 二进制数01串【dp+经典二分+字符串】
- 【AlphaGo Zero 核心技术-深度强化学习教程代码实战03】编写通用的格子世界环境类
- 冒泡排序简单操作模版及实例分析
- COGS 1299. bplusa【听说比a+b还要水的大水题???】
- python学习笔记之运算符
- 锐捷网络NBR部分路由器cookie欺骗权限绕过
- 手写快排模版
- COGS 68. [NOIP2005] 采药【01背包复习】
- UESTC 30 &&HDU 2544最短路【Floyd求解裸题】
- 我的第一个网页制作:Hello World!
- MySQL 教程
- MySQL 安装
- MySQL 管理与配置
- MySQL PHP 语法
- MySQL 连接
- MySQL 创建数据库
- MySQL 删除数据库
- MySQL 选择数据库
- MySQL 数据类型
- MySQL 创建数据表
- MySQL 删除数据表
- MySQL 插入数据
- MySQL 查询数据
- MySQL where 子句
- MySQL UPDATE 查询
- MySQL DELETE 语句
- MySQL LIKE 子句
- mysql order by
- Mysql Join的使用
- MySQL NULL 值处理
- MySQL 正则表达式
- MySQL 事务
- MySQL ALTER命令
- MySQL 索引
- MySQL 临时表
- MySQL 复制表
- 查看MySQL 元数据
- MySQL 序列 AUTO_INCREMENT
- MySQL 处理重复数据
- MySQL 及 SQL 注入
- MySQL 导出数据
- MySQL 导入数据
- MYSQL 函数大全
- MySQL Group By 实例讲解
- MySQL Max()函数实例讲解
- mysql count函数实例
- MYSQL UNION和UNION ALL实例
- MySQL IN 用法
- MySQL between and 实例讲解
- php判断电子邮件是否正确方法
- python db类用法说明
- python中wheel的用法整理
- 使用Keras训练好的.h5模型来测试一个实例
- python中查看.db文件中表格的名字及表格中的字段操作
- Ubuntu 16.04中Laravel5.4升级到5.6的步骤
- PHP SESSION机制的理解与实例
- Yii支持多域名cors原理的实现
- PHP实现的pdo连接数据库并插入数据功能简单示例
- php基于Redis消息队列实现的消息推送的方法
- mongodb和php的用法详解
- php多进程模拟并发事务产生的问题小结
- PHP中命名空间的使用例子
- 基于Python 的语音重采样函数解析
- TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)