conexão MSSQL do Ubuntu

9

Eu preciso de um tutorial fácil e completo para fazer uma conexão MSSQL do Ubuntu.

Acho que instalei o FreeTDS e o UnixODBC, mas as configurações são muito complicadas, não entendi o problema.

Eu segui este tutorial: link

Mas eu falhei.

root@hackmachine:~# isql -v example.com XXXXX XXXXXXX
[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect
root@hackmachine:~# 

Editar:

Antes desta edição, "/etc/odbcinst.ini" e "/etc/odbc.ini" estavam vazios.

Eu adicionei essas linhas ao /etc/odbcinst.ini:

[FreeTDS]

Description     = TDS driver (Sybase/MS SQL)

Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so

Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so

CPTimeout       =

CPReuse         =

FileUsage       = 1

Eu adicionei essas linhas ao /etc/odbc.ini:

[project_development]
Driver = FreeTDS
Description     = ODBC connection via FreeTDS
Trace           = No
Servername      = developer
Database        = project_development

[project_test]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = developer
Database = test

[project_production]
Driver = FreeTDS
Description = ODBC connection via FreeTDS
Trace = No
Servername = production
Database = project_production

Eu não fiz alterações em "/etc/freetds/freetds.conf" desde o início.

Ainda assim, nada mudou.

    
por mertyildiran 28.01.2015 / 19:16

4 respostas

10

Aqui estão as instruções passo a passo (encontradas aqui) :

Primeiro, instale o unixODBC:

sudo apt-get install unixodbc unixodbc-dev

Eu também instalei os seguintes pacotes (talvez necessários):

sudo apt-get install tdsodbc php5-odbc

Em seguida, baixe, descompacte, compile e instale o FreeTDS (aviso, a URL pode mudar):

cd /usr/local

wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
tar xvfz freetds-stable.tgz
cd freetds-0.82
./configure --enable-msdblib --with-tdsver=8.0 --with-unixodbc=/usr
make
make install
make clean

Tentativa de conexão via Telnet à sua instância do SQL Server:

telnet 192.168.0.1 1433

Use a ferramenta tsql para testar a conexão:

tsql -S 192.168.0.1 -U devuser

Isso deve solicitar a senha, após o que você pode esperar contra a esperança de ver este belo sinal:

1>

Se isso funcionou, eu recomendo dar uma festa (codificante). Em seguida é alguma configuração. Abra o arquivo de configuração do FreeTDS. /usr/local/etc/freetds.conf

Adicione a seguinte entrada ao final do arquivo. Estamos configurando um nome de fonte de dados (DSN) chamado "MSSQL".

[MSSQL]
host = 192.168.0.1
port = 1433
tds version = 8.0

Agora abra o arquivo de configuração do ODBC: /usr/local/etc/odbcinst.ini

Adicione a seguinte entrada de driver MSSQL (FreeTDS) no final:

[FreeTDS]
Description = FreeTDS driver
Driver = /usr/local/lib/libtdsodbc.so
Setup=/usr/lib/odbc/libtdsS.so
FileUsage = 1
UsageCount = 1

Então, finalmente, configure o DSN dentro do ODBC no arquivo odbc.ini aqui /usr/local/etc/odbc.ini Adicionando este bit ao arquivo:

[MSSQL]
Description = MS SQL Server
Driver = /usr/local/lib/libtdsodbc.so
Server = 192.168.2.3
UID = devuser
PWD = devpass
ReadOnly = No
Port = 1433

Teste a conexão usando a ferramenta isql:

isql -v MSSQL devuser 'devpass'

Se você vir "Conectado!", você é de ouro, parabéns! Se não, sinto muito mesmo; veja abaixo onde existem alguns recursos que podem ajudar.

Agora reinicie o Apache e teste-o do PHP usando o 'MSSQL' como o DSN. Se algo não funcionar, você pode tentar instalar alguns ou todos esses pacotes: mdbtools libmdbodbc libmdbtools mdbtools-gmdb

    
por Trevor Clarke 28.01.2015 / 20:41
4

Em Trusty 14.04, tive problemas para criar o link

Quando tentei executar um comando tsql , descobri que tsql pode ser instalado via apt:

$ sudo apt-get install freetds-bin
    
por decibel.places 24.08.2015 / 21:35
0

Espero que você tenha copiado o conteúdo no link para o arquivo. Você precisa atualizar seus detalhes do servidor SQL no arquivo "/etc/odbc.ini". Você pode consultar o link link

    
por vembutech 28.01.2015 / 20:35
0

Eu tive que fazer isso para o Ubuntu 14.04 e o 17.04, ambos com LTS de 64 bits. Provavelmente funciona para versões posteriores.

Instale o unixodbc (conexões ODBC), freetds (conexões do SQL Server) e tdsodbc (ponte entre os dois anteriores)

sudo apt install unixodbc freetds-bin tdsodbc

Adicione seus drivers ODBC ao /etc/odbcinst.ini (deve estar vazio)

[SQL Server]
Description = FreeTDS driver
Driver = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
Setup = /usr/lib/i386-linux-gnu/odbc/libtdsS.so
FileUsage = 1
UsageCount = 1

Adicione seus DSNs ao /etc/odbc.ini (também deve estar vazio)

[ACCOUNTING]
Description = Accounting database
Driver = /usr/lib/i386-linux-gnu/odbc/libtdsodbc.so
Server = 123.123.123.123
Database = your_database_name
Port = 1433

E isso foi tudo.

    
por ASalazar 18.05.2017 / 23:40

Tags