sql-server-2012 - mssqllocaldb - sqllocaldb 2017 download
SQL2012 LocalDB: ¿cómo comprobar en c#si está instalado actualmente? (4)
Aquí hay un ejemplo de VB.NET que busca LOCALDB
Public Shared Function CheckLocalDBExists() As Boolean
Dim s As String = ""
Dim reg As RegistryKey
Dim rtn As Boolean = False
reg = Registry.LocalMachine.OpenSubKey("SOFTWARE/Microsoft/Microsoft SQL Server Local DB/Installed Versions/12.0", True)
Try
s = reg.GetValue("ParentInstance", "").ToString
reg.Close()
Catch ex As Exception
s = Nothing
End Try
''MessageBox.Show(s)
If s = "MSSQL12E.LOCALDB" Then
rtn = True
End If
Return rtn
End Function
¿Cómo verificar el código c # si LocalDB está instalado actualmente? Además, ¿cómo comprobar si SQLNCLI11 se presenta en el sistema?
Encontré este paquete nuget que envuelve el trabajo con SQLLocalDB Tiene el siguiente comando
SqlLocalDbApi.IsLocalDBInstalled()
Estoy usando la respuesta a esta pregunta para verificar la existencia de sqllocaldb.exe
Al igual que:
public static bool IsLocalDBInstalled()
{
return ExistsOnPath("SqlLocalDB.exe"); ;
}
public static bool ExistsOnPath(string fileName)
{
return GetFullPath(fileName) != null;
}
public static string GetFullPath(string fileName)
{
if (File.Exists(fileName))
return Path.GetFullPath(fileName);
var values = Environment.GetEnvironmentVariable("PATH");
foreach (var path in values.Split('';''))
{
var fullPath = Path.Combine(path, fileName);
if (File.Exists(fullPath))
return fullPath;
}
return null;
}
Verifique si LocalDB está instalado, buscando esta clave de registro:
[HKLM/SOFTWARE/Microsoft/Microsoft SQL Server Local DB/Installed Versions/11.0]
SQLNCLI11: verifique la versión del archivo y la presencia de este archivo: C:/WINDOWS/system32/sqlncli.dll