ADO+MSSQL在局域网上连接不上,请问是什么道理?
ADO在本地机器上可以连接MSSQL(输入IP及数据库名),
但是在局域网中的别的机器就连接不上MSSQL服务器,
并且没有开防火墙,ping也通的啊,
请问这是什么道理,是不是MSSQL中要进行一些设置。
问题点数:0、回复次数:15Top
1 楼Tensionli()回复于 2005-04-02 14:57:58 得分 0
看看用查询分析器能不能连上
要是能那可能是你的代码有问题Top
2 楼hanwen(汉文)回复于 2005-04-02 15:35:05 得分 0
是不是如果客户机先登陆上服务器则可以连得上?
如果是,打开服务器的guest用户试一试Top
3 楼xiaoxia2005()回复于 2005-04-02 21:33:53 得分 0
查询分析器连接的上,可是我觉得我的代码也没有错啊,大家帮忙看看,可好?
如果大家不想看,可否将现成的代码给我参考一下,谢谢
我的程序如下:
procedure TDataModuleMain.DataModuleCreate(Sender: TObject);
var
ini,iniW:TIniFile;
State:boolean;
CString:AnsiString;
str,str1:AnsiString;
begin
ini:=TIniFile.Create(ChangeFileExt(Application.ExeName,'.INI'));
State:=ini.ReadBool('Database','Connection',false);
if not State then //若没有从ini文件中读取正确的服务器及数据库
try
F_Landing:=TF_Landing.Create(Application);
F_Landing.ShowModal; //弹出登陆界面,要求输入服务器及数据库的名称
except
on e:Exception do
Application.ShowException(e);
end;
CString:='Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial CataLog=';
str:=ini.ReadString('Database','Initial Catalog','company');
CString:=CString+str;
str1:=ini.ReadString('Database','Data Source','LEE-SUMURY');
CString:=CString+';DataSource=';
CString:=CString+str1;
DataModuleMain.ADOConnection1.Connected:=false;
DataModuleMain.ADOConnection1.ConnectionString:=CString;
try
DataModuleMain.ADOConnection1.Connected:=true;
except
Application.MessageBox('与数据库服务器连接未成功,请重新配置','警告对话框',MB_OK);
F_Landing:=TF_Landing.Create(Application);
F_Landing.ShowModal;//弹出登陆界面,要求输入服务器及数据库的名称
end;
iniW:=TIniFile.Create(ChangeFileExt(Application.ExeName,'.INI'));
State:=DataModuleMain.ADOConnection1.Connected;
iniW.WriteBool('Database','Connection',State);
end;
Top
4 楼wozhuchuanwei(一个组件编写者,就一定是一个更优秀的Delphi开发者)回复于 2005-04-02 23:57:21 得分 0
你把你最终得到的连接字符串写出来大家好分析撒!!Top
5 楼xiaoxia2005()回复于 2005-04-04 11:26:28 得分 0
出错提示:知道不到SQL SERVERTop
6 楼jsl99(jsl)回复于 2005-04-04 11:49:00 得分 0
客户机是否己经安装了最新的MDAC 2.8驱动Top
7 楼jsl99(jsl)回复于 2005-04-04 11:50:46 得分 0
客户机是否己经安装了最新的MDAC 2.8驱动?如没有安装的话,可能连接不上SQL !你安装一下MDAC试试!
Top
8 楼xiaoxia2005()回复于 2005-04-04 16:09:35 得分 0
客户机是WINXP,好像自带MDAC 2.8驱动的吧Top
9 楼wenyanhui(初级程序员)回复于 2005-04-04 20:00:21 得分 0
MSS QL 没有错误吗???
Top
10 楼greenpeople(绿人)回复于 2005-04-04 20:04:37 得分 0
还是还种方式连接吧Top
11 楼cyblueboy83(爱情白痴—电脑迷)回复于 2005-04-05 00:27:07 得分 0
楼主用断点调试,把最终的连接字符串贴出来看看吧,我怀疑有错,这样看太辛苦了Top
12 楼kejian(御剑飞仙)回复于 2005-04-05 09:16:12 得分 0
是否别名跟局域网中的计算机名称有冲突?Top
13 楼xiaoxia2005()回复于 2005-04-05 10:30:14 得分 0
别名没有冲突,打的是IP,Top
14 楼Heyongfeng(小何)回复于 2005-04-05 13:48:56 得分 0
用户访问权限的问题,打开数据库服务器的GUEST用户,密码为空。Top
15 楼SeaWave(NoSound)回复于 2005-04-05 13:58:58 得分 0
如果你的连接字串无误的话,在连接字串里加一句:Network Library=dbmssocn就OK了。
例如:
Provider=SQLOLEDB.1;Password=xxxx;Persist Security Info=True;User ID=sa;
Data Source=192.168.0.1;Network Library=dbmssocn
Top




