菜鸟一问,关于SQL服务器名
请问怎样在程序启动时将ADOConnection正确的链接到MS SQL Server服务器的特定名称的数据库,而不论程序装在哪台机器上
也就是说不管在哪台机器上用,在程序启动的时候都要能自动判断出当前SQL Server服务器的名称
问题点数:50、回复次数:10Top
1 楼sunyiming(癞皮狗)回复于 2003-08-01 12:42:26 得分 0
还有能不能把当前数据库服务器下的所有数据库名读到一个组合框Top
2 楼BCB(天下三分明月夜,二分无赖是扬州)回复于 2003-08-01 12:52:28 得分 0
我用IP地址+端口作为数据源:
Data Source="192.168.0.1,1433"
这种形式
Top
3 楼BCB(天下三分明月夜,二分无赖是扬州)回复于 2003-08-01 12:58:23 得分 15
自动判断不太可能,象我的局域网有100台机器,难道一个个扫描?
端口更不能确定了,除非在SQL2000SERVER上再编制一UDP程序,由它
提供信息,各客户机扫描它
Top
4 楼duduwolf(嘟嘟狼)回复于 2003-08-01 13:56:13 得分 20
如果你所在的局域网段中只有一台sql的话,你也可以用下面的程序得到那台sql数据库的机器名..
procedure TForm1.Button1Click(Sender: TObject);
var
SQLServer:Variant;
ServerList:Variant;
i,nServers:integer;
sRetValue:String;
begin
SQLServer := CreateOleObject('SQLDMO.Application');
ServerList:= SQLServer.ListAvailableSQLServers;
nServers:=ServerList.Count;
for i := 1 to nservers do
ListBox1.Items.Add(ServerList.Item(i));
SQLServer:=NULL;
serverList:=NULL;
end;
不好意思,是delphi的,不过很简单,一看就会的。Top
5 楼BCB(天下三分明月夜,二分无赖是扬州)回复于 2003-08-01 14:50:54 得分 0
不错,但保证只有一台机上有sql2000server不太可能,
Top
6 楼sunyiming(癞皮狗)回复于 2003-08-01 20:57:09 得分 0
谢谢,我的就只有那么一台Top
7 楼firetoucher(风焱)回复于 2003-08-01 22:25:32 得分 10
duduwolf(嘟嘟狼) 的可以
不过
1 本机上需要msde,或者至少安装sqldmo
2 只能查找sql server 2000,对sql server7无效Top
8 楼sunyiming(癞皮狗)回复于 2003-08-02 08:37:22 得分 0
很郁闷,我的就是SQL Server7 , 埃, 改2000吧Top
9 楼sunyiming(癞皮狗)回复于 2003-08-22 17:43:29 得分 0
upTop
10 楼sunmedia()回复于 2003-08-26 17:49:01 得分 5
还不如程序运行的时候,读一个文件,这个文件中记录了所有已经设置的SQLServer机器的名称,每次要连接哪个数据库,就中列表中选择就好了,这样多灵活Top




