mattn oci8连接Oracle查询结果返回结果里面多了一串不想要的字符串: %!(EXTRA <nil>)

jimyokl · 2017-06-15 03:41:49 · 1377 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-06-15 03:41:49 的主题,其中的信息可能已经有所发展或是发生改变。

请知道的高手解答一下,谢谢了

错误信息:

%!(EXTRA <nil>)

运行程序结果:

[root@localhost ocitest]# ~/tasks/go/fjgd/bin/ocitest 
connected cool 
%!(EXTRA <nil>)7369 SMITH
7876 ADAMS
7900 JAMES

代码:

package main
import (
    "fmt"
    "database/sql"
    _ "github.com/mattn/go-oci8"
)
func main(){


    db, err := sql.Open("oci8", "scott/11@localhost:1521/orcl")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer db.Close()


    if err = db.Ping(); err != nil {
        fmt.Printf("Error connecting to the database: %s\n", err)
        return
    }
    fmt.Printf("connected cool \n", err)

    rows,err := db.Query("select EMPNO, ENAME from emp10 where SAL < :1", 1200)
    if err != nil {
        fmt.Println("Error fetching employees")
        fmt.Println(err)
        return
    }
    defer rows.Close()

    for rows.Next() {

        var EMPNO int
        var ENAME string
        rows.Scan(&EMPNO, &ENAME)
        println(EMPNO,ENAME)
    }
}

表:

SQL> select * from emp10;

     EMPNO ENAME      JOB           MGR HIREDATE           SAL     COMM      DEPTNO
---------- ---------- --------- ---------- ------------ ---------- ---------- ----------
      7369 SMITH      CLERK          7902 17-DEC-80           800              20
      7499 ALLEN      SALESMAN          7698 20-FEB-81          1600      300          30
      7521 WARD       SALESMAN          7698 22-FEB-81          1250      500          30
      7566 JONES      MANAGER          7839 02-APR-81          2975              20
      7654 MARTIN     SALESMAN          7698 28-SEP-81          1250     1400          30
      7698 BLAKE      MANAGER          7839 01-MAY-81          2850              30
      7782 CLARK      MANAGER          7839 09-JUN-81          2450              10
      7788 SCOTT      ANALYST          7566 19-APR-87          3000              20
      7839 KING       PRESIDENT        17-NOV-81          5000              10
      7844 TURNER     SALESMAN          7698 08-SEP-81          1500        0          30
      7876 ADAMS      CLERK          7788 23-MAY-87          1100              20
      7900 JAMES      CLERK          7698 03-DEC-81           950              30
      7902 FORD       ANALYST          7566 03-DEC-81          3000              20
      7934 MILLER     CLERK          7782 23-JAN-82          1300              10

14 rows selected.

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1377 次点击  
加入收藏 微博
2 回复  |  直到 2017-06-15 04:39:28
polaris
polaris · #1 · 8年之前

fmt.Printf("connected cool \n", err) 执行到这里,说明 err 是 nil,而你打印的时候,用了 Printf ,没有指定格式,试试 fmt.Println("connected cool \n", err)

jimyokl
jimyokl · #2 · 8年之前

低级错误, 谢谢polaris 热情回答,改了以后就没问题了

[root@localhost ocitest]# ~/tasks/go/fjgd/bin/ocitest 
connected cool 
7369 SMITH
7876 ADAMS
7900 JAMES
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传