Necesito un tutorial fácil y completo para hacer una conexión MSSQL desde Ubuntu.
Creo que instalé FreeTDS y UnixODBC pero las configuraciones son muy complicadas. No entendí el problema.
Seguí este tutorial: https://github.com/rails-sqlserver/activerecord-sqlserver-adapter/wiki/Platform-Installation---Ubuntu
Pero fallé.
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 de esta edición, "/etc/odbcinst.ini" y "/etc/odbc.ini" estaban vacíos.
Agregué estas líneas a /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
Agregué estas líneas a /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
No hice ningún cambio en "/etc/freetds/freetds.conf" desde el principio.
Aún así, nada ha cambiado.
connection
mertyildiran
fuente
fuente
Respuestas:
Aquí hay instrucciones paso a paso (que se encuentran aquí) :
Primero, instale unixODBC:
También instalé los siguientes paquetes (quizás necesarios):
Luego descargue, descomprima, compile e instale FreeTDS (advertencia, la URL puede cambiar):
Intente una conexión a través de Telnet a su instancia de SQL Server:
Use la herramienta tsql para probar la conexión:
Esto debería solicitarle la contraseña, después de lo cual puede esperar contra esperanza ver esta hermosa señal:
Si eso funcionó, recomiendo organizar una fiesta (codificación). El siguiente es un poco de configuración. Abra el archivo de configuración de FreeTDS. /usr/local/etc/freetds.conf
Agregue la siguiente entrada al final del archivo. Estamos configurando un nombre de fuente de datos (DSN) llamado 'MSSQL'.
Ahora abra el archivo de configuración ODBC: /usr/local/etc/odbcinst.ini
Y agregue la siguiente entrada de controlador MSSQL (FreeTDS) al final:
Luego, finalmente, configure el DSN dentro de ODBC en el archivo odbc.ini aquí /usr/local/etc/odbc.ini Agregando este bit al archivo:
Pruebe la conexión con la herramienta isql:
Si ve "Conectado!" eres de oro, felicidades! Si no, lo siento mucho; vea a continuación dónde hay algunos recursos que podrían ayudar.
Ahora reinicie Apache y pruébelo desde PHP usando 'MSSQL' como DSN. Si algo no funciona, puede intentar instalar alguno o todos estos paquetes: mdbtools libmdbodbc libmdbtools mdbtools-gmdb
fuente
En Trusty 14.04 tuve problemas para hacer http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
Cuando intenté ejecutar un
tsql
comando, descubrí quetsql
se puede instalar a través de apt:fuente
Espero que haya copiado el contenido en el enlace al archivo. Necesita actualizar los detalles de su servidor SQL en el archivo "/etc/odbc.ini". Puedes referir el enlace http://guywyant.info/log/206/connecting-to-ms-sql-server-from-ubuntu/
fuente
Tuve que hacer esto para Ubuntu 14.04 y 17.04, ambos LTS de 64 bits. Probablemente funcione para versiones posteriores.
Instale unixodbc (conexiones ODBC), freetds (conexiones de SQL Server) y tdsodbc (puente entre los dos anteriores)
Agregue sus controladores ODBC a /etc/odbcinst.ini (debe estar vacío)
Agregue sus DSN a /etc/odbc.ini (también debe estar vacío)
Y eso fue todo.
fuente
Para responder la pregunta que implica:
... e ignorando todas las cosas de configuración de FreeTDS.
Use mssql-cli ( instalación , uso ).
fuente
Trabajo en una empresa que usa mucho los productos de Microsoft. Sin embargo, prefiero trabajar en una máquina Linux (Ubuntu). Específicamente, uso Ubuntu 16.04 LTS .
Uso DataGrip de JetBrains o SQL Electron como GUI de SQL. DataGrip requerirá el controlador JDBC de Microsoft para SQL Server al que debe apuntar manualmente cuando abra DataGrip por primera vez. Puse esto
/usr/share/java/
, pero en cualquier lugar funcionará.La conexión es simple en mi computadora portátil con Windows 10. Simplemente abro SQL Server Management Studio y uso mis credenciales para iniciar sesión (nombre de usuario + contraseña); No uso la autenticación de Windows.
Prerrequisitos
Para conectarse desde Ubuntu, es un poco ( solo un poco ) de trabajo extra. Primero, en mi máquina con Windows 10, abro un terminal Powershell y escribo lo siguiente
y devuelve algo como
El nombre y la dirección del servidor serán estáticos, por lo que lo anterior solo será necesario para ejecutarse una vez por servidor al que intente acceder.
DataGrip
Luego, salto a mi máquina Linux y abro DataGrip. Para lo
Host
que escribo<server's address>
, Puerto: 1433 (esto es predeterminado para MS SQL Server). La URL debería verse así,Si hace clic en
Test Connection
, le pedirá información de inicio de sesión si aún no la ha agregado. ¡Y eso es todo para DataGrip!DataGrip también tiene el siguiente blog, que puede ser útil para los nuevos usuarios: Conexión de DataGrip a MS SQL Server
SQL Electron
Si no desea comprar DataGrip, puede usar SQL Electron. Los pasos son similares. Abra SQL Electron, haga clic en Agregar para agregar un nuevo servidor y
Server Address
escriba<server's address>
, Puerto: 1433, y finalmente sus credenciales de inicio de sesión. ¡Y eso es!fuente
Para conectarse a la instancia de MSSQL que se ejecuta en un servidor remoto:
Siga los pasos correspondientes en este artículo 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 completar las pruebas, debe hacer algunas cosas más: Editar /etc/odbc.ini y agregar lo siguiente:
Para realizar la prueba, ejecute lo siguiente en la terminal:
Debería ver una respuesta "conectada".
Si tiene dificultades, verifique que los puertos en su servidor Linux y Windows estén abiertos.
fuente