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. maven jstl、jsp、servlet依赖

    jstl.jsp.servlet依赖 <dependency> <groupId>javax.servlet</groupId> <artifactId> ...

  2. spring boot(10)-tomcat jdbc连接池

    默认连接池 tomcat jdbc是从tomcat7开始推出的一个连接池,相比老的dbcp连接池要优秀很多.spring boot将tomcat jdbc作为默认的连接池,只要在pom.xml中引入了 ...

  3. Aheadof Time Compilation(AOT) vs (JIT)Just In Time compilation approach

    像java这样的高级语言,往往先做好部分编译,在运行时,再使用JIT将前面编译的中间件输出编译为机器语言,放到机器上运行.这可能会影响到运行的性能. 再比如,像angular的web 应用,angul ...

  4. easyUI扩展组件

    $.parser.plugins.push("aa"); //注册扩展组件 $.fn.aa= function (options, param) {//定义扩展组件 //当opti ...

  5. Breathing During Sleep

    TPO24-2 Breathing During Sleep Of all the physiological differences in human sleep compared with wak ...

  6. 【MySQL】sysbench压测服务器及结果解读

    主要压测范围包括CPU测试.磁盘IO测试.线程测试.OLTP测试等,那么sysbench就可以满足我们的压测需求.下面我们简单来看下sysbench的安装使用以及压测结果的解读. 一.sysbench ...

  7. 转:在决定使用ClickOnce发布你的软件前,应该知道的一些事情(一些常见问题解决方法)

    1,无法有效避免非法的下载 使用ClickOnce部署,你的软件的更新版可以发布到Web服务器上,当用户从开始菜单启动软件时,ClickOnce自动到指定的URL去检测是否存在新版本,并且从这个地址下 ...

  8. [转] iOS文字排版(CoreText)那些事儿

    文章转载自 http://www.cocoachina.com/applenews/devnews/2014/0521/8504.html iOS文字排版(CoreText)那些事儿 转自阿毛的蛋疼地 ...

  9. sonarQube常见问题及分析

    阻断1.Close this"FileInputStream" in a "finally" clause.在finally中关闭FileInputStream ...

  10. mysql的表和约束操作

    在创建表是默认为加上数据引擎和字符集,如创建一个student表,代码如下: create table students(id int unsigned zerofill auto_increment ...