2015-07-21 579 views
2

連接到MSSQL服務器時Recieving此錯誤django。錯誤:( 'IM002', '[IM002] [的unixODBC] [驅動程序管理器]數據源名稱沒有找到,並且指定(0)(的SQLDriverConnect)默認驅動程序')

我的Linux機器的詳細信息: -

Distributor ID: Ubuntu 
Description: Ubuntu 14.04.2 LTS 
Release:  14.04 

MSSQL Server數據庫的詳細信息:

version : 2012 

錯誤:

django.db.utils.Error: ('IM002', '[IM002] [unixODBC][Driver Manager]Data source name not found, and no default driver specified (0) (SQLDriverConnect)') 

Python2.7

Driver: pyodbc == 3.0.10 
django-pyodbc-azure == 1.8.3.0 django-mssql == 1.6.1 django >= 1.8.3 

回答

2

首先,確保你已經安裝了所需的軟件包(它看起來像你可能):

# Install pre-requesite packages 
sudo apt-get install unixodbc unixodbc-dev freetds-dev freetds-bin tdsodbc 

然後,請確保您有在/ etc/freetds的/ freetds的.conf文件正確配置:

[global] 
    # TDS protocol version, use: 
    # 7.3 for SQL Server 2008 or greater (tested through 2014) 
    # 7.2 for SQL Server 2005 
    # 7.1 for SQL Server 2000 
    # 7.0 for SQL Server 7 
    tds version = 7.2 
    port = 1433 
    text size = 64512 

# A typical Microsoft server 
[dbserverdsn] 
    host = dbserver.domain.com 
    port = 1433 
    tds version = 7.2 

接下來,確保你的unixODBC在/etc/odbcinst.ini正確地講,通過freetds的:

[FreeTDS] 
Description = v0.91 with protocol v7.2 
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so 

最後,確保/etc/odbc.ini看到你創建的freetds的數據源:

[dbserverdsn] 
Driver = FreeTDS 
Server = dbserver.domain.com 
Port = 1433 
TDS_Version = 7.2 

如果你有問題,前進的道路上,請嘗試用「TSQL」和「ISQL測試'命令行實用程序併發布您收到的任何錯誤。希望這可以起作用。

如果問題出在Django的配置上,請發佈您的Django數據庫設置以供審閱。

+0

我可以使用tsql與我的數據庫交談。這是否意味着FreeTDS端的所有配置都正確?我仍然在原始問題中遇到錯誤。 – user443854

+0

我會用盡可能多的細節來創建一個新問題。 tsql只檢查FreeTDS是否工作,但不檢查unixODBC,pyodbc或堆棧的其他部分。 – FlipperPA

相關問題