Estoy creando una biblioteca de clases que toma archivos .SQL como entrada (FileInfo) y una cadena de conexión. Luego intenta ejecutar el archivo sql contra la conexión.¿La forma correcta de detectar si está instalado SQLCMD.exe?
he decidido apoyar SMO de Microsoft y sqlcmd.exe
En las pruebas, he notado en muchas máquinas en mi entorno, que SQLCMD no viene instalado por defecto. Mis errores de programa cuando intento ejecutar el proceso SQLCMD.exe.
¿Cuál es la forma correcta de buscarlo sin tener que buscar todo el disco duro? ¿Hay una ubicación de registro común que especifique si está instalada? Por lo general, cuando está instalado, creo que se establece una ubicación PATH.
Muchas gracias.
Se podría intentar ejecutar 'sqlcmd.exe -?' En un proceso en su aplicación de C# - si funciona, entonces SQLCMD está presente - si no, voy a decir algo así como "archivo no encontrado" o comando" inválido "o algo ... –
@marc_s sí, eso es lo que estaba pensando ... simplemente no es lo que yo pensaba que era el más limpio para una biblioteca de clase que será un componente esencial de muchas aplicaciones. –