我用C#写的想调用网络上所有的SQLServer服务器,结果出现"接口 SQLDMO.NameList 的 QueryInterface 失败"

dotnet007 2003-09-03 07:41:31
请问这是什么原因,应该如何解决?

代码如下:
SQLDMO.Application sqlApp = new SQLDMO.ApplicationClass();
SQLDMO.NameList sqlServerNames = null;
sqlServerNames = sqlApp.ListAvailableSQLServers();
...全文
73 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
daou101 2003-09-03
  • 打赏
  • 举报
回复
连接字符串有问题
wzs_wzs123 2003-09-03
  • 打赏
  • 举报
回复
SQL SERVER 要装上SP2


如果要在下拉菜单中添加上局域网内的所有SQL SERVER服务器的话,可以调用isql.exe来完成这个工作,而不用装什么SP2
代码如下:

private void ListAllServer()
{
string fileName = "C:\\Program Files\\Microsoft SQL Server\\80\\Tools\\Binn\\isql.exe";
if(System.IO.File.Exists(fileName))
{
System.Diagnostics.ProcessStartInfo processStartInfo = new System.Diagnostics.ProcessStartInfo(fileName,"-L");
processStartInfo.UseShellExecute = false;
processStartInfo.CreateNoWindow = true;
processStartInfo.RedirectStandardOutput = true;
processStartInfo.RedirectStandardError = true;
System.Diagnostics.Process process = System.Diagnostics.Process.Start(processStartInfo);
process.WaitForExit();
cboServerList.Items.Clear();
int line = 1;
string server = null;
while(process.StandardOutput.Peek() > -1)
{
server = process.StandardOutput.ReadLine().Trim();
line +=1;
if ( line > 6)
{
cboServerList.Items.Add(server);
}
server = null;
}
}
cboServerList.Items.Remove(System.Environment.MachineName);
cboServerList.Items.Add("localhost");
}

panyee 2003-09-03
  • 打赏
  • 举报
回复
我的sql server就还没打补丁, 可以
是不是你的系统比较乱了?
angxain 2003-09-03
  • 打赏
  • 举报
回复
看一下你的SQL版本吧,好像要SP3才可以呀


cmbList.Items.Clear();

SQLDMO.ApplicationClass app = new SQLDMO.ApplicationClass();
SQLDMO.NameList list = app.Application.ListAvailableSQLServers();
string server;
for(int i=0;i<list.Count;i++)
{
server = list.Item(i);
if(server==null)
continue;
cmbList.Items.Add(server);
}
TheAres 2003-09-03
  • 打赏
  • 举报
回复
很可能是你SQL版本的问题.你自己查一查.

如果是Sql 2000的话,检查一下你的版本.


SELECT @@VERSION
如果版本低于8.00.534,,要安装SP2.
http://www.microsoft.com/sql/downloads/2000/sp2.asp
panyee 2003-09-03
  • 打赏
  • 举报
回复
machine.config文件中改成userName="system"

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧