¿Cuáles son algunas formas de acceder a Microsoft SQL Server desde Linux?

Tenemos una máquina con Windows que ejecuta SQL Server 2005, y necesitamos poder ejecutar algunas consultas de la base 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.

FreeTDS + unixODBC o iODBC

Instale el primer FreeTDS, luego configure uno de los dos motores 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 usar su lenguaje de progtwigción favorito (he utilizado con éxito Perl, C, Python y Ruby para conectarme 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 

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 una instancia azul in situ y sql.

sqsh ( http://www.sqsh.org/ ) + freetds ( http://www.freetds.org )

sqsh era principalmente un reemplazo isql para Sybase SQL Server (ahora ASE) pero funciona muy bien para conectarse a SQL Server (siempre que use freetds).

Para comstackr, 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 funciones avanzadas, como la vinculación de servidor simple sin errores (no es necesario configurar servidores vinculados en SQL Server), control de flujo y bucle (no más cadenas de concatenación y ejecución de SQL dynamic) y carga / copia masiva invisible .

¡Cualquiera que use cualquier otra herramienta de línea de comando es simplemente loco! 🙂

pymssql es un módulo Python DB-API, basado en FreeTDS. Funcionó para mí Cree algunas funciones de ayuda, si es necesario, y úselo desde el shell de Python.

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í.

Eche un vistazo a http://www.mono-project.com/TDS_Providers y http://www.mono-project.com/SQLClient

Desde noviembre de 2011, Microsoft proporciona su propio controlador ODBC de SQL Server para Linux para Red Hat Enterprise Linux (RHEL) y SUSE Linux Enterprise Server (SLES).

  • Descargue Microsoft ODBC Driver 11 para SQL Server en Red Hat Linux
  • Descargue Microsoft ODBC Driver 11 para SQL Server en SUSE – CTP
  • Controlador ODBC en la documentación de Linux

También incluye sqlcmd para Linux.

Usted no dice lo que quiere hacer con los datos resultantes, pero si se trata de consultas generales para desarrollo / mantenimiento, entonces habría pensado que el Escritorio remoto para el servidor de Windows y luego el uso de las herramientas reales de SQL Server siempre habrían sido una opción más productiva que cualquier solución pirateada en Linux.

Hay una lib de abstracción disponible para PHP. No estoy seguro de qué soporte tendrá 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 eso lo ayude.

No me sentía cómodo con la solución de freetds, es por eso que codifiqué una clase (historial de comandos, autocompletado en tablas y campos, etc.)

http://www.phpclasses.org/package/8168-PHP-Use-ncurses-to-get-key-inputs-and-write-shell-text.html

valentina-db tiene versión gratuita para servidor sql
.rpm y .deb
la identificación serial será enviada por correo electrónico después del registro

https://www.valentina-db.com/en/

https://valentina-db.com/es/store/category/14-free-products

valentina-db

Si usa eclipse, puede instalar el plugin Data Tools Platform en él y usarlo para todos los motores de DB, incluido MS SQLServer. Solo necesita obtener el controlador JDBC para ese motor de DB.