web-dev-qa-db-fra.com

Comment installer freetds sous Linux?

J'essaie de me connecter au serveur MSSQL depuis Ubuntu. J'ai installé des freetds comme suggéré ici .

enter image description here

Cependant, lorsque j'essaie de configurer /etc/odbc.ini et d'entrer un chemin de pilote, je n'ai pas de pilote à l'emplacement /usr/local/freetds/lib/libtdsodbc.so.

enter image description here

Quelqu'un peut-il m'aider à installer freetds et à configurer odbc pour l'utiliser? * edit1: J'ai trouvé libtdsodbc.so dans/usr/lib/x86_64-linux-gnu/odbc. Dois-je utiliser ce pilote/chemin?

12
Hrvoje T

J'ai créé une boîte Vagrant qui a un exemple d'installation complet ici: https://github.com/FlipperPA/Django-python3-vagrant/

... mais voici les étapes de base.

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

Pointez odbcinst.ini vers le pilote dans /etc/odbcinst.ini:

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

Créez vos DSN dans odbc.ini:

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

... et vos DSN dans 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

    # 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

Après avoir terminé cela, vous pouvez tester votre connexion en tentant de vous connecter avec tsql (pour tester la couche FreeTDS) et isql (pour l'unixODBC via la pile FreeTDS).

14
FlipperPA

apt-get est une version très ancienne. pour obtenir une version plus récente

Sudo apt-get install wget
Sudo apt-get install build-essential
Sudo apt-get install libc6-dev

# find latest version of FreeTDS ftp://ftp.freetds.org/pub/freetds/stable/

wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.92.tar.gz
tar -xzf freetds-1.00.92.tar.gz
cd freetds-1.00.92
./configure --prefix=/usr/local --with-tdsver=7.3
Sudo make
Sudo make install
8
rdaniels

dans freedts.conf

[Server80]
        Host = example.com
        port = 1433
        tds version = 8.0
        client charset = UTF-8

dans odbc.ini

[MSSQL8]
Driver          = FreeTDS
Description     = Sybase JDBC Server
Trace           = No
Servername      = Server80
Database        = DBNAME
UID             = sa
ClientCharset   = UTF-8

dans odbcinst.ini

[FreeTDS]
Description=v0.63 with protocol v8.0
Driver=/usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
UsageCount=2
0
kuptsov