2015-10-26 24 views
8

Ubuntu'dan MSSQL sunucusuna bağlanmaya çalışıyorum. Önerilen here gibi freetds kurdum. AncakLinux'ta freetds nasıl kurulur?

enter image description here

, ben /etc/odbc.ini yapılandırmak ve konumu /usr/local/freetds/lib/libtdsodbc.so de hiçbir sürücü var bir sürücü yolu girin deneyin.

enter image description here

birisi freetds yüklemek ve kullanmak için odbc yapılandırmak için yardım eder misin? * edit1:/usr/lib/x86_64-linux-gnu/odbc dosyasında libtdsodbc.so dosyasını buldum. Bu sürücüyü/yolu kullanmalı mıyım?

+0

Burada izlediğim adımları kontrol edin, size yardımcı olacağını umuyorum: http://stackoverflow.com/questions/34725523/working-with-nodejs-mssql-at-linux-ubuntu –

cevap

7

Burada tam bir montaj örneğini sahip Serseri kutusu oluşturduk: https://github.com/FlipperPA/django-python3-vagrant/

... ama burada temel adımlardır. /etc/odbcinst.ini sürücüye odbcinst.ini

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

Noktası:

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

odbc.ini da DSN oluşturun:

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

... ve DSN freetds.conf dosyasında:

[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 

    # Whether to write a TDSDUMP file for diagnostic purposes 
    # (setting this to /tmp is insecure on a multi-user system) 
; dump file = /tmp/freetds.log 
; debug flags = 0xffff 

    # Command and connection timeouts 
; timeout = 10 
; connect timeout = 10 

    # If you get out-of-memory errors, it may mean that your client 
    # is trying to allocate a huge buffer for a TEXT field. 
    # Try setting 'text size' to a more reasonable limit 
    text size = 64512 

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

Bunu tamamladıktan sonra tsql (FreeTDS katmanını test etmek için) ve isql (FreeTDS yığını aracılığıyla unixODBC için) ile bağlanmaya çalışarak bağlantınızı test edebilirsiniz.

+2

Bu konuda yeniyim. Sunucumun IP'si ile sunucu = dbserver.domain.com 'değişimini mi yapıyorum? Bu şekilde tsql 'tsql -S dbserverdsn kullanıyorum ya da orada IP yazmalı mıyım? 'Tsql -S dbserverdsn' kullandığımda 'Hata 100 (önem 11)' ı kullanırken: tanınmayan msgno Hata 20009 (önem 9): Bağlanılamıyor: Adaptive Server kullanılamıyor veya mevcut değil \t OS hatası 111, "Bağlantı reddedildi " –

+0

sunucusuna bağlanırken bir sorun oluştu. Tsql -S dbserverdsn

+2

" tsql -C "ile tds sürümünü kontrol ettim ve 4.2 olduğunu gördüm. 7.2'nin üstündeki yerini 4.2 ile değiştirdim ve bu 'msgno hatayı kaldırıyor gibi görünüyordu. –