Tenemos una máquina con Windows que ejecuta SQL Server 2005, y debemos poder ejecutar algunas consultas de bases de datos desde una caja Linux. ¿Cuáles son algunas de las formas recomendadas de hacer esto? Idealmente, quisiéramos una utilidad de línea de comandos similar a sqlcmd en Windows.¿Cuáles son algunas maneras de acceder a Microsoft SQL Server desde Linux?
Respuesta
instalar primero FreeTDS, a continuación, configurar uno de los dos motores de ODBC para usar FreeTDS como su controlador ODBC. Luego use la interfaz de línea de comando del motor ODBC.
unixODBC tiene isql, iODBC tiene iodbctest
También puede utilizar su lenguaje de programación favorito (yo he utilizado con éxito Perl, C, Python y Ruby para conectarse a MSSQL)
Personalmente estoy usando FreeTDS + iODBC:
$more /etc/freetds/freetds.conf
[10.0.1.251]
host = 10.0.1.251
port = 1433
tds version = 8.0
$ more /etc/odbc.ini
[ACCT]
Driver = /usr/local/freetds/lib/libtdsodbc.so
Description = ODBC to SQLServer via FreeTDS
Trace = No
Servername = 10.0.1.251
Database = accounts_ver8
Mono contiene un proveedor ADO.NET que debería hacer esto por usted. No sé si hay una utilidad de línea de comandos para ello, pero definitivamente podría concluir C# para hacer las consultas, si no es así.
Tenga una mirada en http://www.mono-project.com/TDS_Providers y http://www.mono-project.com/SQLClient
Usted no dice lo que quiere hacer con los datos resultantes, pero si se trata de consultas generales para el desarrollo/mantenimiento entonces tendría pensado escritorio remoto para las ventanas Servidor y luego utilizar las herramientas reales de SQL Server en su siempre habría sido una opción más productiva que cualquier otra solución pirateada en Linux.
pymssql es un módulo DB-API Python, basado en FreeTDS. Funcionó para mí Cree algunas funciones de ayuda, si es necesario, y úselo desde el shell de Python.
Hay una lib de abstracción disponible para PHP. No estoy seguro de lo que soportará la caja de su cliente, pero si es Linux, entonces ciertamente debería apoyar la construcción de una interfaz de consulta PHP con esto: http://adodb.sourceforge.net/ Espero que le ayude.
sqsh (http://www.sqsh.org/) + freetds (http://www.freetds.org)
sqsh era principalmente un reemplazo isql de Sybase SQL Server (ahora ASE) pero funciona muy bien para la conexión a SQL Server (siempre y cuando use freetds).
Para compilar, simplemente apunte $ SYBASE a la instalación de freetds y debería funcionar desde allí. Lo uso en mi Mac todo el día.
La mejor parte de sqsh son las características avanzadas, como vinculación de servidor simple sin errores (no es necesario configurar servidores vinculados en SQL Server), control de flujo y bucle (no más concatenar cadenas y ejecutar SQL dinámico) e invisible copia/carga masiva
¡Cualquiera que use cualquier otra herramienta de línea de comandos es simplemente loco! :)
Tiene un problema instalando sqsh: http://stackoverflow.com/questions/18784242/install-sqsh-for-freetds-sql-server – noahlz
'sqsh.org' ya no es un buen enlace (¿actualmente bienes raíces japoneses?). Se puede encontrar [en SourceForge] (https://sourceforge.net/projects/sqsh/), aunque no ha habido actualizaciones desde 2014. – r2evans
Si está utilizando Java, eche un vistazo a JDBC.
http://msdn.microsoft.com/en-us/library/ms378672(SQL.90).aspx
yo no era cómodo con la solución freetds, Es por lo que programé una clase (historial de comandos, la terminación automática de tablas y campos, etc.)
http://www.phpclasses.org/package/8168-PHP-Use-ncurses-to-get-key-inputs-and-write-shell-text.html
sql-cli es una interfaz de línea de comando multiplataforma basada en nodejs para el servidor sql. Puede instalarlo a través de npm https://www.npmjs.org/package/sql-cli
Se puede conectar a instancias instaladas localmente y azul de sql.
¡Gracias! ** ¡Esta debería ser la respuesta aceptada! ** Esta es, de lejos, la mejor solución para las personas que utilizan el cliente CLI 'mysql'. – dotancohen
Desde November 2011 Microsoft proporciona su propio SQL Server ODBC Driver for Linux para Red Hat Enterprise Linux (RHEL) y SUSE Linux Enterprise Server (SLES).
- Download Microsoft ODBC Driver 11 for SQL Server on Red Hat Linux
- Download Microsoft ODBC Driver 11 for SQL Server on SUSE - CTP
- ODBC Driver on Linux Documentation
También incluye sqlcmd
para Linux.
- 1. ¿Cuáles son algunas buenas maneras de hacer el bloqueo intermachine?
- 2. C++ Acceso a SQL Server desde Linux
- 3. ¿Cuáles son algunas maneras de identificar a un usuario conectado en la web?
- 4. ¿Cuáles son algunas buenas maneras de aprovechar los operadores bit a bit?
- 5. SQL Server/PHP/Web Based Admin Tool - ¿Cuáles son algunas herramientas similares a phpmyadmin para SQL Server?
- 6. ¿Cuáles son las diferentes maneras de reemplazar un cursor?
- 7. Cómo acceder a Team Foundation Server (TFS) desde Linux
- 8. ¿Cuáles son algunas maneras de obtener una lista de DateTime.Now.AddDays (0..7) dinámicamente?
- 9. ¿Cuáles son algunas buenas maneras de implementar la eliminación de llamadas finales?
- 10. Conversión de Microsoft SQL Server a MySQL
- 11. ¿Cuáles son algunas características útiles de TextMate?
- 12. Conexión a Microsoft SQL Server con Clojure
- 13. ¿Conectarse a MS SQL Server desde PHP en Linux?
- 14. Microsoft SQL Server 2008 - Fechas
- 15. ¿Cuáles son buenas maneras de monitorear el estado del servidor?
- 16. ¿Cuáles son las maneras elegantes de hacer MixIns en Python?
- 17. ¿Cuáles son algunas buenas alternativas de Entity Framework?
- 18. Node.js y Microsoft SQL Server
- 19. ¿Cuáles son algunas alternativas más rápidas a Java2d?
- 20. ¿Cuáles son las posibles maneras de forzar a mathematica a mostrar -1 + a como a-1
- 21. cómo conectarse a SQL Server con SQuirreL SQL desde una caja Linux no registrada?
- 22. ¿Cuáles son algunas API de OFX (Open Financial Exchange)?
- 23. SQL Server 2008 - sp_refreshview bombardeando algunas vistas
- 24. Algunas preguntas sobre HierarchyId (SQL Server 2008)
- 25. ¿Cuáles son algunas buenas maneras de establecer una ruta en una secuencia de comandos de Python compatible con Multi-OS
- 26. ¿Cuáles son algunas buenas soluciones de ORM de Python?
- 27. ¿Cómo ejecutar un archivo SQL de 3GB (Microsoft SQL Server)?
- 28. traslado de datos desde SQL Server a Oracle repetidamente
- 29. Migrar la base de datos SQLite a Microsoft SQL Server
- 30. Conectar carriles de aplicación a SQL Server 2005 desde Windows
En Ubuntu utilizo la ruta del controlador '/ usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so'. Obtengo ERROR [ISQL]: no pudo SQLConnect. –
ODBC es el controlador que permite que Linux hable con MSSQL, y FreeTDS interpreta el protocolo, ¿verdad? – orrymr
Microsoft publicó ayer un servidor SQL público para Linux con soporte para Docker, Ubuntu, etc. https://www.microsoft.com/en-us/sql-server/sql-server-vnext-including-Linux – gavioto