费了将近一天时间。最终解决,记下来留给须要的人

须要安装的:

python-odbc : https://github.com/mkleehammer/pyodbc下载后install

安装python-odbc的假设报找不到sql.h文件错误,须要apt-get install g++。

这块代码是用C++写的。须要编译器

django-pyodbc : https://pypi.python.org/pypi/django-pyodbc 下载后install

unixODBC:http://www.unixodbc.org/. linux下的odbc数据库源

安装:./configure & make & make install

或者 apt-get install unixODBC unixODBC-dev

FreeTDS:http://www.freetds.org/ linux下的sqlserver驱动程序

安装:./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --with-gnu-ld --enable-shared --enable-static

make & make install

apt-get install freetds freetds-dev tdsodbc

配置:

1.配置FreeTDS

找到 freetds.conf以下增加:

[MYSQLSERVER]
        host = sqlserver服务器IP
        port = 1433
        tds version = 8.0
        client charset = UTF-8

把 tsql所在文件夹增加环境变量 如我的操作:vim /etc/profile 加一行PATH=$PATH:/usr/local/freetds/bin

再source /etc/profile 使其立即生效

測试FreeTDS是否成功安装:

tsql -C 看安装环境

tsql -S MYSQLSERVER -H sqlserver数据库IP -p 1433 -U 账号 -P password

成功会看到例如以下信息:

locale is "en_US.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
1>

这时输入sql命令測试一下吧:

use test_db

go

select * from test;

go

成功安装后再继续下一步吧

2.配置unixODBC

找到odbc.ini odbcinst.ini

我的在/etc/odbc.ini /etc/odbcinst.ini

vim /etc/odbcinst.ini增加

[FreeTDS]
Description = ODBC of FreeTDS for MS-SQLServer
Driver = /usr/local/freetds/lib/libtdsodbc.so

FileUsage = 1

vim /etc/odbc.ini增加

[odbc连接名]
Driver = FreeTDS
ServerName = MYSQLSERVER(FreeTDS里配的连接名)
Database = test_db(数据库名)

測试unixODBC是否安全配置成功:

isql -v odbc连接名 账号 password

成功后会出现例如以下信息:

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

写几个sql语句測试下吧,只是这次不用再use test_db了。由于已经配过数据库名称了

select * from test

也不用go了,呵呵

3.安装完python-odbc和django-pyodbc后,配置django的setting(安装不说了,比較简单)

'kids': {
        'ENGINE': 'django_pyodbc',
        'NAME': '数据库名', #这个不须要。只是django里有限制,必须有NAME项。这里不会生效,实际的在odbc.ini里写的
        'USER': '账号',
        'PASSWORD': 'password',
        'HOST': '', #这个也不会生效,实际生效的是freetds.conf里配置的
        'OPTIONS':{
                'driver': 'FreeTDS',
                'dsn':'odbc连接名', #ODBC DSN name defined in your odbc.ini,
        }

over!

linux(debian)系统django配远程连接sqlserver数据库的更多相关文章

  1. Linux系统下实现远程连接MySQL数据库的方法教程

    1.在服务器端开启远程访问首先进入mysql数据库,然后输入下面两个命令: grant all privileges on *.* to 'root'@'%' identified by 'passw ...

  2. 远程连接SqlServer 数据库时提示 "在与SQL Server 建立连接时出现与网络相关的或特定实例的错误" 解决方法

    前言 由于在之前的职业生涯中, 无论是数据库还是开发环境, 都是前人弄好的,自己只管使用就好啦.并不知安装过程中会出现各种各样的错.最近接触服务器之后,开发环境以及配置各方面都是从头到脚开始安装到配置 ...

  3. linux服务器初步印象,远程连接mysql数据库,传输文件,启动/关闭tomcat命令

    1.连接服务器数据库,以Navicat连接mysql为例 1.1 常规 新建连接,连接名,主机名或ip地址:127.0.0.1 端口:3306用户名:(服务器端)root密码:(服务器端)pwd 1. ...

  4. linux远程连接mysql数据库

    在linux系统中,远程连接mysql数据库时不仅需要开启ip访问,还需要将防火墙中添加相应规则 在wdlinux中的[安全管理]菜单下选择[防火墙[iptables]]选项,增加端口为3306的规则 ...

  5. 远程连接Kali Linux使用PuTTY实现SSH远程连接

    远程连接Kali Linux使用PuTTY实现SSH远程连接 本书主要以在Android设备上安装的Kali Linux操作系统为主,介绍基于Bash Shell渗透测试.由于在默认情况下,在Andr ...

  6. SQLServer 2005客户端远程连接sql2008 数据库服务器

    SQL2005客户端远程连接sql2008 数据库服务器 by:授客 QQ:1033553122 准备工作: 客户端所在pc机配置: 配置数据源 控制面板-管理工具-ODBC数据源-系统DSN-添加- ...

  7. 使用thinkphp连接sqlserver数据库时提示“系统不支持:sqlsrv”

    习惯了使用php跟mysql组合,现在接到项目需要调用客户线下的系统软件的数据,具了解,这个软件的数据库是用sqlserver数据库也就是常说的mssql数据库了. 那么我现在需要用PHP连接sqls ...

  8. 远程连接db2数据库

    在db2数据库中,需要理解catalog(编目)这个概念,理解前先说下db2数据库的体系结构:由系统(节点)也就是主机,下面是实例,实例下面是数据库,然后是表空间,再是数据库对象.现在假设你有一个数据 ...

  9. 将.Net Core发布至Docker,并连接 Redis、上传文件到本机、连接sqlserver数据库

    此片文章目标是将 .Net Core 发布到 Docker 上,并且连接到在 Docker上的 Redis .上传文件到本机文件夹和连接 sqlserver 数据库. 创建项目 创建项目就不用说了,我 ...

随机推荐

  1. css相关用法

    1. 2. 3.offset([coordinates]) 获取匹配元素在当前视口的相对偏移. 返回的对象包含两个整型属性:top 和 left,以像素计.此方法只对可见元素有效. a.获取当前元素的 ...

  2. SpringMVC框架中的异常解析器-ExceptionHandler和HandlerExceptionResolver

    SpringMVC框架中,处理异常还是挺方便的,提供了一个异常解析器. 处理局部异常 @Controller public class AccessController { /** * 处理这个Con ...

  3. C#之用户自定义控件

    一.新建用户自定义控件 如下图所示,想通过LED的点击来实现亮和灭使用去控制下位机. LED亮: LED灭: 首先新建一个用户控件类,如下图所示步骤: 在资源中,添加现有文件中加入图片 加入的图片可以 ...

  4. springboot整合Beetl、BeetlSql实现ajax分页

    Beetl是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,超过当前流行的模板引擎.而且还易学易用. BeetSql是一个 ...

  5. Oracle数据库安装时 environment variable path 大于 1023

    提示的内容如下: 打开系统的环境变量设置, 编辑Path,全选将其中的路径全部复制出来放到文本文档中.新建一个系统变量取名Path_Old_1,剪切Path中的所有变量复制进path1然后保存,将Pa ...

  6. VMware虚拟机XP系统安装

    转载:http://jingyan.baidu.com/article/54b6b9c00e2f452d593b4762.html

  7. STL中向量vector笔记

    vector的本质是:数组的封装 特点:读取能在常数时间内完成 Vector成员函数 函数 表述 c.assign(beg,end) c.assign(n,elem) 将[beg; end)区间中的数 ...

  8. Day2平衡树笔记

    线段树不支持的操作:删除,插入 常见的平衡树 treap 慢||好写 sbt(大小平衡的树) 非常快 比较好写 ||功能不全 rbt 红黑树 特别快 || 非常难写   以上操作支持插入删除O(Nlo ...

  9. less中混合

    @charset "UTF-8"; //1 普通混合 //2 不带输出的混合:加() .font_hx(){ font-size: 28px; color: red; } h1{ ...

  10. Javascript 继承和克隆

    个人总结: call 继承的是父类私有 prototype 继承的父类公有 create 可以将公有或私有继承到子类上去(克隆) for in 克隆 不管公有还是私有的都克隆成私有的 1.原型继承:将 ...