1. 简介

我们用golang做odbc驱动开发的任务并不多,隔段时间可能会来一个。每次开发会忘记如何配置数据源和对应的数据源链接参数配置。这里做一个整理。

1.1 ODBC和JDBC

ODBC(Open Database Connectivity)是一组对数据库访问的标准API,其最大的优点是以统一的方式处理所有的数据库。

JDBC(Java Database Connectivity)是Java与数据库的接口规范,允许Java程序发送SQL指令并处理结果。比较常见JdbcTemplate

1.2 ODBC配置工具

打开控制面板找到管理工具,当前目录有两个ODBC的配置工具。分别是:ODBC Data Sources (32-bit)、ODBC 数据源(64 位)。顾名思义一个是32位,一个是64位。在配置ACCESS数据源时需要选择32位。

我们也可以直接在系统目录下找到对应的可执行文件。

1)32位:%windir%\syswow64\odbcad32.exe

2)64位:%windir%\system32\odbcad32.exe

题外话:syswow64 目录存放的是32位的程序,system32目录存放的是64位的程序,在注册dll的时候需要注意下。ITDragon 在接触驱动开发之前一直都弄反了。这篇文章做了通俗易懂地解释https://www.cnblogs.com/hbccdf/p/dllchecktoolandsyswow64.html

1.3 ODBC 数据源连接配置

网上收集整理,不保证正确性,仅供参考。

数据库 连接参数
MySQL driver={mysql};database=数据库;uid=账号;pwd=密码;
MSSQL Server driver={sql server};server=服务器;database=数据库;uid=ITDragon;pwd=密码;
Access driver={microsoft access driver (*.mdb)};dbq=mdb文件全路径;uid=ITDragon;pwd=密码;
SQLite driver={SQLite3 ODBC Driver};database=db文件全路径
PostgreSQL driver={PostgreSQL ANSI};server=服务器;uid=账号;pwd=密码;database=数据库;
DBase driver={microsoft dbase driver (*.dbf)};driverid=277;dbq=dbf文件全路径;
Oracle driver={microsoft odbc for oracle};server=服务器;uid=ITDragon;pwd=密码;
MS text driver={microsoft text driver (* .txt; *.csv)};dbq=文件全路径;extensions=asc,csv,tab,txt;PersistSecurityInfo=false;
Visual Foxpro driver={microsoft Visual Foxpro driver};sourcetype=DBC;sourceDB=*.dbc;Exclusive=No;

2. MySQL 数据源配置

2.1 配置步骤

第一步:双击ODBC 数据源(64 位),可以选择用户DSN(系统只对当前用户生效),也可以选择系统DSN(能登录当前系统的用户都生效)

第二步:点击添加,选择事先安装好的MySQL ODBC xx Driver 驱动后点击完成。注意不同版本之间对某些sql语法的支持略有不同(之前吃过这个亏,我的环境有问题,客户环境没问题)。

第三步:完善基本链接信息后点击Test,提示链接成功后点击OK完成配置。

2.2 链接参数配置

因为ODBC驱动配置已经将数据库的连接地址、账号、密码、数据库都已经配置完成,连接参数只需要指定驱动名称即可:DSN=ITDragon_MySQL

Golang伪代码:

import (
"database/sql"
_ "github.com/alexbrainman/odbc"
) db, err := sql.Open("odbc", "DSN=ITDragon_MySQL")
if err != nil {
panic(err)
}
defer db.Close()

3. SQLServer 数据源配置

3.1 配置步骤

第一步:双击ODBC 数据源(64 位),可以选择用户DSN(系统只对当前用户生效),也可以选择系统DSN(能登录当前系统的用户都生效)

第二步:点击添加,选择SQL Server。这一项我ITDragon 并没有手动安装,应该是安装SQL Server数据库的时候自动安装上去的。

第三步:键盘输入需要连接的SQLServer服务器,如果是本机,就输入计算机名。如果是远程主机就需要输入IP,Port 。不要点击下拉框,会卡死。

第四步:选择SQL Server验证方式

第五步:选择默认数据库,也可以在写sql语句时将表名的全路径写全(我ITDragon 习惯用写全)

第六步:可以考虑修改SQL Server的系统消息语言,数据的加密,执行字符数据翻译,修改日志保存路径等。也可以默认。

第七步:点击完成,弹出“按照以下配置创建新的ODBC数据源”,点击测试数据源,提示测试成功。点击确定完成创建。

3.2 链接参数配置

Golang伪代码:

import (
"database/sql"
_ "github.com/alexbrainman/odbc"
) db, err := sql.Open("odbc", "driver={sql server};server=DESKTOP-HKC2IA3;DSN=ODBCName;uid=xxx;pwd=xxx;")
if err != nil {
panic(err)
}
defer db.Close()

4. ACCESS 数据源配置

4.1 配置步骤

第一步:双击ODBC Data Sources (32-bit),而不是64位。可以选择用户DSN(系统只对当前用户生效),也可以选择系统DSN(能登录当前系统的用户都生效)

第二步:选择Microsoft Access Driver (*.mdb)。点击数据库下发的选择按照,选择mdb文件,点击确定完成配置。

4.2 链接参数配置

我们其实可以不用配置Access的数据源,直接用DBQ指定mdb的文件路径,再用pwd输入密码访问。

Golang伪代码:

import (
"database/sql"
_ "github.com/alexbrainman/odbc"
) db, err := sql.Open("odbc", "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=全路径.MDB;pwd=xx;")
if err != nil {
panic(err)
}
defer db.Close()

ODBC 常见数据源配置整理的更多相关文章

  1. 【JAVA】Spring 数据源配置整理

            在Spring中,不但可以通过JNDI获取应用服务器的数据源,也可以直接在Spring容器中配置数据源,此外,还可以通过代码的方式创建一个数据源,以便进行无依赖的单元测试. 配置数据源 ...

  2. Spring:(三) --常见数据源及声明式事务配置

    Spring自带了一组数据访问框架,集成了多种数据访问技术.无论我们是直接通过 JDBC 还是像Hibernate或Mybatis那样的框架实现数据持久化,Spring都可以为我们消除持久化代码中那些 ...

  3. 配置ODBC DSN数据源,导出数据库数据到Excel过程记录

    一.前言 工作中我们可能遇到这样的需要:查询数据库中的信息,并将结果导出到Excel文件.这本来没什么,但数据量比较大时,用PLSQL.toad导出Excel会出现内存不足等情况,使用odbc+Mic ...

  4. Spring Boot从入门到精通(五)多数据源配置实现及源码分析

    多数据源配置在项目软件中是比较常见的开发需求,Spring和Spring Boot中对此都有相应的解决方案可供大家参考.在Spring Boot中,如MyBatis.JdbcTemplate以及Jpa ...

  5. 三、oracle数据库成功安装步骤 Oracle数据源配置

      安装完Oracle驱动后,如需连接远程Oracle数据库,还需进行数据源配置,类似Windows下的ODBC数据源配置. 运行"开始菜单\Oracle - OraDb11g_home1\ ...

  6. springboot+多数据源配置

    作者:纯洁的微笑 出处:http://www.ityouknow.com/ 起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务.我们项目是后者的模式,网上找了很多 ...

  7. Tomcat数据源配置方法总结

    最近接触的数据表管理项目,涉及到了数据源配置,所以整理了一下配置方法: JNDI数据源统一都是在Tomcat下server.xml中配置的,根据应用范围的差别又分为一下几种方式: 第一种:配置单个应用 ...

  8. 【BIEE】03_BIEE数据源配置

    声明:此时说的是Oracle数据源配置 BIEE数据源配置有两种方法 ①直接使用字符串连接 ②将tnsnames.ora文件覆盖到obiee目录下 直接使用字符串 直接使用字符串连接很简单 首先打开资 ...

  9. 基于注解实现SpringBoot多数据源配置

    1.功能介绍 在实际的开发中,同一个项目中使用多个数据源是很常见的场景.最近在学习的过程中使用注解的方式实现了一个Springboot项目多数据源的功能.具体实现方式如下. 2.在applicatio ...

随机推荐

  1. 机器学习pdf资源

    <深度学习>(Deep Learning)中文版pdf, 百度网盘: https://pan.baidu.com/s/1jHDiQTg <机器学习导论>(Introductio ...

  2. & vue项目中的rem适配

    有个朋友问我在vue项目怎么做rem适配,我工作中都是用的dva,但是我感觉道理都是一样的,换汤不换药.配完就顺手写下来吧! 需要安装两个插件库 lib-flexible和px2rem-loader ...

  3. 03 . MysSQL权限和备份

    MySQL权限介绍 mysql中存在4个控制权限的表,分别为 user db tables_priv columns_priv 用户和权限内容放在mysql库中,该库中有一张名为user的表,记录了用 ...

  4. zabbix通过IPMI监控服务器传感器参数

    一.需求:机房dell服务器和IBM服务器皆有主板管理接口iDRAC和iMM,上周已为服务器管理接口配置了ip地址,考虑通过zabbix实现对服务器传感器参数的实时监控.使用DELL-DL1300服务 ...

  5. Alpha冲刺 —— 5.6

    这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.展 ...

  6. 开心一下-实现基于Java一个中文编程语言

    https://mp.weixin.qq.com/s/TsTiLVF5D07-wbDMk9bsyQ   这不是认真的,不是真的要去实现一个中文编程语言.   多年以前,有位同学把Java代码发给我说帮 ...

  7. Java实现 LeetCode 556 下一个更大元素 III(数组的翻转)

    556. 下一个更大元素 III 给定一个32位正整数 n,你需要找到最小的32位整数,其与 n 中存在的位数完全相同,并且其值大于n.如果不存在这样的32位整数,则返回-1. 示例 1: 输入: 1 ...

  8. Java实现 蓝桥杯VIP 算法训练 调和数列

    问题描述 输入一个实数x,求最小的n使得,1/2+1/3+1/4+-+1/(n+1)>=x. 输入的实数x保证大于等于0.01,小于等于5.20,并且恰好有两位小数.你的程序要能够处理多组数据, ...

  9. java实现和为定值的两个数

    1 问题描述 输入一个整数数组和一个整数,在数组中查找两个数,满足他们的和正好是输入的那个整数.如果有多对数的和等于输入的整数,输出任意一对即可.例如,如果输入数组[1,2,4,5,7,11,15]和 ...

  10. java实现第七届蓝桥杯路径之谜

    路径之谜 题目描述 小明冒充X星球的骑士,进入了一个奇怪的城堡. 城堡里边什么都没有,只有方形石头铺成的地面. 假设城堡地面是 n x n 个方格.[如图1.png]所示. 按习俗,骑士要从西北角走到 ...