急判断是否已经安装了数据库?解决办法
急急急,判断是否已经安装了数据库?
如何判断机子是否已经安装了数据库?sql2005为例...
------解决方案--------------------
判断 进程或服务都不一定吧,也有可能没运行哦,我就是要用才启动服务。
判断注册表应该好些
------解决方案--------------------
如何判断机子是否已经安装了数据库?sql2005为例...
------解决方案--------------------
判断 进程或服务都不一定吧,也有可能没运行哦,我就是要用才启动服务。
判断注册表应该好些
------解决方案--------------------
- C# code
//添加windows服务所需引用空间System.Service.Process.dll using System.ServiceProcess; public static bool ExistSqlServerService() { bool ExistFlag=false; ServiceController[] service=ServiceController.GetServices(); for(int i=0;i<service.Length;i++) { if (service[i].DisplayName.ToString()=="MSSQLSERVER") { ExistFlag=true; } } return ExistFlag; }
------解决方案--------------------
1.有没有安装判读注册表(SQL2008特征键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL:MSSQLSERVER=?),
2.有没有运行判断进程(SQL2008进程名称:sqlserver.exe)
------解决方案--------------------
连接SQLserver系统数据库,如果成功则安装了,如果没有,看是不是数据库服务没有启动,我机器默认下数据库是不启动的,常识启动,再次连接,如果还是不成功,可以认为没有安装。
------解决方案--------------------
- C# code
System.Data.Sql.SqlDataSourceEnumerator instance=System.Data.Sql.SqlDataSourceEnumerator.Instance; DataTable dt=instance.GetDataSources();
------解决方案--------------------
能检测到所有已经安装的SQL实例?包括没启动的么?
-------------------------------------
已启动的基本上能检测到,没启动的很难说。
------解决方案--------------------
随便打开一个数据库链接字符串,没安装与密码出错不一样的
------解决方案--------------------
还有一种方法,就是查看Windows服务中是否有SQL Server的服务。
C#可以返回Windows的所有服务成一个数组,遍历检查即可。