Tworzę bibliotekę klas, która pobiera pliki .SQL jako dane wejściowe (FileInfo) i ciąg połączenia. Następnie próbuje wykonać plik sql przeciwko połączeniu.Właściwy sposób wykrywania, czy zainstalowany jest plik SQLCMD.exe?
zdecydowałem się wspierać SMO Microsoftu i SQLCMD.exe
W testach, zauważyłem na wielu maszynach w moim otoczeniu, że nie przychodzi SQLCMD instalowany domyślnie. Moje błędy programu przy próbie uruchomienia procesu SQLCMD.exe.
Jaki jest właściwy sposób wyszukiwania go bez przeszukiwania całego dysku twardego? Czy istnieje wspólna lokalizacja rejestru, która określa, czy jest zainstalowana? Zwykle, gdy jest zainstalowany, myślę, że ustawiono lokalizację PATH.
Wielkie dzięki.
Możesz spróbować wykonać 'sqlcmd.exe -?' W procesie w twojej aplikacji C# - jeśli to działa, wtedy SQLCMD jest obecny - jeśli nie, to powie ci coś w stylu "file not found" lub "command" invalid "lub coś ... –
@marc_s yea o to właśnie myślałem ... po prostu nie to, co uważałem za najczystsze dla biblioteki klasowej, która będzie niezbędnym składnikiem wielu aplikacji. –