Preciso de um tutorial fácil e completo para fazer uma conexão MSSQL a partir do Ubuntu.
Acho que instalei o FreeTDS e o UnixODBC, mas as configurações são muito complicadas, não entendi o problema.
Segui este tutorial: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/wiki/Platform-Installation---Ubuntu
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.
Adicionei estas 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
Adicionei estas 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
Não fiz alterações no "/etc/freetds/freetds.conf" desde o início.
Ainda assim, nada mudou.
connection
mertyildiran
fonte
fonte
Respostas:
Aqui estão as instruções passo a passo (encontradas aqui) :
Primeiro, instale o unixODBC:
Também instalei os seguintes pacotes (talvez necessários):
Em seguida, baixe, descompacte, compile e instale o FreeTDS (aviso, o URL pode mudar):
Tente uma conexão através do Telnet com sua instância do SQL Server:
Use a ferramenta tsql para testar a conexão:
Isso deve solicitar a senha, após a qual você pode ter esperança de ver este belo sinal:
Se isso funcionou, eu recomendo dar uma festa (de codificação). A seguir, algumas configurações. Abra o arquivo de configuração do FreeTDS. /usr/local/etc/freetds.conf
Adicione a seguinte entrada na parte inferior do arquivo. Estamos configurando um nome de fonte de dados (DSN) chamado 'MSSQL'.
Agora abra o arquivo de configuração ODBC: /usr/local/etc/odbcinst.ini
E adicione a seguinte entrada do driver MSSQL (FreeTDS) no final:
Por fim, configure o DSN no ODBC no arquivo odbc.ini aqui /usr/local/etc/odbc.ini Adicionando este bit ao arquivo:
Teste a conexão usando a ferramenta isql:
Se você vir "Conectado!" você é dourada, parabéns! Se não, sinto muito; veja abaixo onde existem alguns recursos que podem ajudar.
Agora reinicie o Apache e teste-o no PHP usando 'MSSQL' como DSN. Se algo não funcionar, você pode tentar instalar um ou todos esses pacotes: mdbtools libmdbodbc libmdbtools mdbtools-gmdb
fonte
No Trusty 14.04, tive problemas ao criar http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
Quando tentei executar um
tsql
comando, descobri quetsql
pode ser instalado via apt:fonte
Espero que você tenha copiado o conteúdo no link para o arquivo. Você precisa atualizar os detalhes do servidor SQL no arquivo "/etc/odbc.ini". Você pode consultar o link http://guywyant.info/log/206/connecting-to-ms-sql-server-from-ubuntu/
fonte
Eu tive que fazer isso no Ubuntu 14.04 e 17.04, ambos LTS de 64 bits. Provavelmente funciona para versões posteriores.
Instale unixodbc (conexões ODBC), freetds (conexões do SQL Server) e tdsodbc (ponte entre os dois primeiros)
Adicione seus drivers ODBC ao /etc/odbcinst.ini (deve estar vazio)
Adicione seus DSNs ao /etc/odbc.ini (também deve estar vazio)
E isso foi tudo.
fonte
Para responder à pergunta implícita por:
... e ignorando todo o material de configuração do FreeTDS.
Use mssql-cli ( instalação , uso ).
fonte
Eu trabalho em uma empresa que usa muito os produtos da Microsoft. No entanto, eu prefiro trabalhar em uma máquina Linux (Ubuntu). Especificamente, eu uso o Ubuntu 16.04 LTS .
Eu uso o DataGrip ou o SQL Electron do JetBrains como SQL GUIs. O DataGrip exigirá o Driver Microsoft JDBC para SQL Server, para o qual você precisa apontar manualmente quando abrir o DataGrip pela primeira vez. Coloquei isso
/usr/share/java/
, mas em qualquer lugar funcionará.A conexão é simples no meu laptop Windows 10. Simplesmente abro o SQL Server Management Studio e uso minhas credenciais para efetuar login (nome de usuário + senha); Eu não uso a autenticação do Windows.
Pré-requisitos
Para se conectar a partir do Ubuntu, é um pouco mais ( apenas um pouco ) de trabalho extra. Primeiro, na minha máquina Windows 10, abro um terminal Powershell e digito o seguinte
e retorna algo como
O nome e o endereço do servidor serão estáticos, portanto, o acima será necessário apenas para executar uma vez por servidor que você tentar acessar.
DataGrip
Então, eu pulo na minha máquina Linux e abro o DataGrip. Para
Host
digitar<server's address>
, Porta: 1433 (esse é o padrão para o MS SQL Server). O URL deve ser algo como,Se você clicar em Sim
Test Connection
, ele solicitará informações de login, se você ainda não o adicionou. E é isso para o DataGrip!O DataGrip também possui o seguinte blog, que pode ser útil para novos usuários: Conectando o DataGrip ao MS SQL Server
SQL Electron
Se você não deseja adquirir o DataGrip, pode usar o SQL Electron. Os passos são semelhantes. Abra o SQL Electron, clique em adicionar para adicionar um novo servidor e
Server Address
digite<server's address>
Porta: 1433 e, finalmente, suas credenciais de logon. E é isso!fonte
Para conectar-se à instância do MSSQL em execução em um servidor remoto:
Siga as etapas aplicáveis neste artigo https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/connection-string-keywords-and-data-source-names-dsns?view=sql -server-2017
NOTA: Para concluir os testes, você precisa fazer mais algumas coisas: Edite o /etc/odbc.ini e adicione o seguinte:
Para executar o teste, execute o seguinte no terminal:
Você deve ver uma resposta "conectada".
Se estiver com problemas, verifique se as portas do servidor Linux e Windows estão abertas!
fonte