Widnows配置informix的odbc数据源

  • 安装ibm.csck (注明:我的百度网盘里面有windows版介质)
  • 配置IBM Informix Setnet32
  • 配置ODBC数据源管理程序64,添加数据源(注意环境全用en_US.819 zh_CN.utf8)
  • 然后用go连接odbc即可:db, err := sql.Open(“odbc”, “DSN=informix;locale=en_US.819;”)
  • 注明,只需要改DSN即数据源名称即可。
package main

import (
	"database/sql"
	"fmt"

	_ "github.com/alexbrainman/odbc"
)

func main() {

	var nombre string

	//fmt.Println(" Conexion Go al Informix ")

	dbRead, err := sql.Open("odbc", "DSN=gbase8s;")
	if err != nil {
		panic(err.Error())
	}
	err = dbRead.Ping()
	if err != nil {
		fmt.Println("error en el ping : ", err)
	}

	dbWrite, err := sql.Open("odbc","DSN=informix;")
	if err != nil {
		panic(err.Error())
	}
	err = dbWrite.Ping()
	if err != nil {
		fmt.Println("error en el ping : ", err)
	}

	//Query a ejecutar
	rows, err := dbRead.Query("select name from t1;")

	if err != nil {
		fmt.Println("No va la Query :( ", err)
	}

	//Parse
	defer rows.Close()
	for rows.Next() {
		err := rows.Scan(&nombre)
		if err != nil {
			fmt.Println("Error al parsear :( ", err)
		}
		fmt.Println(nombre)

		_, err = dbWrite.Exec("insert into t1(name) values('" + nombre + "');")
		if err != nil {
			fmt.Println("dbWrit Error al parsear :( ", err)
		}
	}

	err = rows.Err()
	if err != nil {
		fmt.Println(err)
	}

	//cerrar conexion
	defer dbRead.Close()
	defer dbWrite.Close()
}


Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐