如果当前安装了 LocalDB,如何签入 c# 代码?另外,如何检查系统中是否存在 SQLNCLI11?
问问题
11044 次
4 回答
16
通过查找此注册表项检查是否安装了 LocalDB:
[HKLM\SOFTWARE\Microsoft\Microsoft SQL Server Local DB\Installed Versions\11.0]
SQLNCLI11 - 检查文件版本和此文件的存在:C:\WINDOWS\system32\sqlncli.dll
于 2012-07-24T10:35:52.360 回答
3
这是一个检查 LOCALDB 的 VB.NET 示例
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
于 2016-02-23T21:50:56.287 回答
3
我正在使用这个问题的答案
来检查是否存在sqllocaldb.exe
像这样:
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;
}
于 2016-10-05T21:55:03.613 回答
1
我发现这个nuget包包含使用 SQLLocalDB 具有以下命令
SqlLocalDbApi.IsLocalDBInstalled()
于 2018-05-25T14:18:26.297 回答