linux(debian)系統django配遠端連線sqlserver資料庫

來源:互聯網
上載者:User

標籤:linux   django   sqlserver   debian   pyodbc   

費了將近一天時間,終於解決,記下來留給需要的人

需要安裝的:

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 密碼

成功會看到如下資訊:

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串連名 帳號 密碼

成功後會出現如下資訊:

+---------------------------------------+
| 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‘: ‘密碼‘,
        ‘HOST‘: ‘‘, #這個也不會生效,實際生效的是freetds.conf裡配置的
        ‘OPTIONS‘:{
                ‘driver‘: ‘FreeTDS‘,
                ‘dsn‘:‘odbc串連名‘, #ODBC DSN name defined in your odbc.ini,
        }

over!



linux(debian)系統django配遠端連線sqlserver資料庫

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.