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
}
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)
    m.DB, err = sql.Open("adodb", strings.Join(conf, ";"))
    if err != nil {
        return err
    }
    return nil
}
func main() {
    db := Mssql{
        dataSource: "数据库地址",
        database: "数据库名称",
        // windwos: true 为windows身份验证,false 必须设置sa账号和密码
        windows: false,
        sa: SA{
            user: "账号",
            passwd: "密码",
        },
    }
    // 连接数据库
    err := db.Open()
    if err != nil {
        fmt.Println("sql open:", err)
        return
    }
    defer db.Close()
    // 执行SQL语句
    rows, err := db.Query("SELECT FID,FAccount FROM dbo.TAccounts")
    if err != nil {
        fmt.Println("query: ", err)
        return
    }
    for rows.Next() {
        var FID int
        var FAccount string
        rows.Scan(&FID, &FAccount)
        fmt.Printf("Name: %s \t Number: %d\n", FID, FAccount)
    }
    return
}
 
我查出来的是必须对应select字段名称,不然会出错。网上都直接放*,可是获取不到数据,没有去验证是否和表里的字段多少有关系,或许别人表里只有两个字段

从0开始学golang--1.1--连接ms sql server数据库的更多相关文章

  1. [转]JIRA 7.2.6与Confluence 6.0.3的安装与配置之MS SQL Server版

    相关软件版本信息 说明:下方软件可以点击链接,通过百度云盘进行下载. 操作系统:Windows 10(密码:foht)或者Windows Server 2012(密码:lsad): 数据库:SQL S ...

  2. java连接ms sql server各类问题解析

    首先先来说下使用微软自己开发的架包进行ms sql server数据库的连接时,sql 2000与sql 2005的连接方式略有不同: 1.首先驱动不一样,sql 2000的连接驱动包有三个,分别是: ...

  3. Jmeter—8 连接microsoft sql server数据库取数据

    本文以Jmeter 连接microsoft sql server为例. 1 从微软官网下载Microsoft SQL Server JDBC Driver 地址:http://www.microsof ...

  4. Jmeter入门8 连接microsoft sql server数据库取数据

    本文以Jmeter 连接microsoft sql server为例. 1 从微软官网下载Microsoft SQL Server JDBC Driver 地址:http://www.microsof ...

  5. 1433端口无法连接(sql server 数据库无法访问问题)解决思路

    登录远程SQL服务器一 看ping 服务器IP能否ping通. 这个实际上是看和远程sql server 2000服务器的物理连接是否存在.如果不行,请检查网络,查看配置,当然得确保远程sql ser ...

  6. vs连接服务器sql server数据库 web.config和代码

    方法一.在web.config里面配置,后连接数据库 (1)web.config文件:加在<connectionStrings>和</connectionStrings> 之间 ...

  7. PHP 5.3.X 连接MS SQL Server php_mssql.dll

    在网上搜索了一下PHP 5.3.X 连接SQL Server的办法,有人也遇到了这个问题 原来PHP 团队在PHP 5.3 中移除了SQL Server的驱动和库,而微软自己开发了针对PHP的SQL驱 ...

  8. 无法连接远程SQL Server 数据库的原因

    1. tcp协议开启 2. 1433端口是否添加防火墙例外

  9. ASP.NET MVC 4 从示例代码展开,连接默认SQL Server数据库

    VS2013里面,点击菜单[视图]-[SQL server对象资源管理器],右键点击[SQL Server]节点,选择[添加SQL Server]自动生成. 这只是开始,可以让网上下载下来的例子运行出 ...

随机推荐

  1. ArrayMap代替HashMap

    ArrayMap是一个<key,value>映射的数据结构,它设计上更多的是考虑内存的优化,内部是使用两个数组进行数据存储,一个数组记录key的hash值,另外一个数组记录Value值,它 ...

  2. Pig load 用法举例

    users = load '/users.data' using PigStorage() as (name:chararray, age:int, address:chararray);   loa ...

  3. java笔记--守护线程的应用

    守护线程的应用 Java中的线程可以分为两类,即用户线程和守护线程.用户线程是为了完成任务,而守护线程是为其他线程服务 --如果朋友您想转载本文章请注明转载地址"http://www.cnb ...

  4. Jmeter入门--工具组成和线程组

    1.Jmeter工具组成部分: 资源生成器:用于生成测试过程中服务器,负载机的资源代码.(LoadRunner中的VuGen) 用户运行器:通常是一个脚本运行引擎,根据脚本要求模拟指定的用户行为.(L ...

  5. 教你使用Paw解析http请求

    教你使用Paw解析http请求 软件下载地址: 链接: http://pan.baidu.com/s/1gdzmjq7 密码: 3mpb 这款应用的图片像极了百度,哈哈. 支持的请求方式: 完整的显示 ...

  6. Forefront TMG 之 ISP 冗余传输链路(ISP-R)

    在 Forefront TMG 中,新增了ISP 冗余传输链路功能:在 TMG 中,你可以同时使用两条活动的外部链路,使用模式分为以下两种: 故障转移模式:在主要链路工作正常的情况下,所有的流量都通过 ...

  7. Linux 系统磁盘挂载信息文件

    设置文件系统挂载信息的文件(etc/fstab),使得开机能够自动挂载磁盘分区 文件系统挂载 方法一: 直接挂在,临时生效 # 格式化系统(没有格式化就没有文件系统,放不了数据) dd if=/dev ...

  8. spark-submit提交参数设置

    /apps/app/spark-1.6.1-bin-hadoop2.6/bin/spark-submit --class com.zdhy.zoc2.sparksql.core.JavaSparkSq ...

  9. jquery.form.js mvc 上传文件 layer 选择框与等待效果

    HTML <form role="form" id="form1"> <div class="form-group"> ...

  10. Eclipse Debug Daemon Thread

    Daemon Thread ["http-bio-8080"-exec-2] (Suspended (exception RuntimeException)) ThreadPool ...