為何我用ADOConnection連接數據庫總是提示連不上?
我是這樣連的:
var
filename,servername,dbname,username,password:string;
begin
if FileExists('system.ini') then
begin
Filename:=ExtractFilePath(ParamStr(0))+'system.ini';
MyInifile:=TInifile.Create(Filename);
servername:=MyInifile.ReadString('DataBase','ServerName','');
dbname:=MyInifile.ReadString('DataBase','DatabaseName','');
username:=MyInifile.ReadString('DataBase','UserName','');
password:=MyInifile.ReadString('DataBase','Password','');
try
ADOConnection1.ConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=coming;password=comingtech;Initial Catalog='+dbname+';Data Source='+servername+' ';
ADOConnection1.LoginPrompt := False;
ADOConnection1.ConnectionTimeout := 5;
ADOConnection1.Open;
except
Application.MessageBox('connect database fail!', '', mb_ok);
exit;
end;
end
else
begin
Application.MessageBox('system.ini file error!','',mb_ok+mb_iconstop );
end;
end;
///system.ini 內容如下
[DataBase]
ServerName=data-server
DatabaseName=pmcdb
UserName=sa
Password=sa1234
在以前的公司一直這樣用都沒問題,以前是域管理的。現在廠只做對等網,運行程序時總是提示'connect database fail!',每次都要登錄一次數據庫服務器data-server才連得上,於是使用的人就說你的程序不好之類的,真火!!!
請問大家這樣什麼原因?是不是直接這樣連不好,因為我沒搞安裝程序,沒寫注冊表之類的,還是對等網的問題,有沒有辦法解決?延長這個時間ConnectionTimeout不是什麼好辦法吧,請大家幫幫忙,分數根據情況再加!
问题点数:20、回复次数:10Top
1 楼befree(似有似无)回复于 2004-08-03 11:48:34 得分 2
ADOConnection1.ConnectionTimeout := 5; 5太短了Top
2 楼GoldShield(李柏岑)回复于 2004-08-03 11:50:20 得分 2
也许真的是楼上说的这样,没发现其它不妥的Top
3 楼hanwen(汉文)回复于 2004-08-03 11:54:46 得分 0
5秒應該不慢了吧,局域網內5秒還連不上嗎?設置時間太長了,就算連得上不懂的人也會說你的程序很爛,怎麼這麼慢。還有沒有其它的改善辦法?Top
4 楼spraydew(云孤天)回复于 2004-08-03 12:18:58 得分 2
可能是你的数据库服务器设置的问题。。必须要先登陆一下才能连。。
系统里应该有设置可以设置成直接登陆的Top
5 楼yinweixian(blackyin)回复于 2004-08-03 12:27:05 得分 0
是不是你没有把LoginPrompt设成false?Top
6 楼indexhome(蓝 海)回复于 2004-08-03 12:34:39 得分 4
如果连不上的话,你就捕捉下异常,看是报什么,对症下药才是根本!
可以用
Try
Except
On E:exception
begin
ShowMessage(E.message);
end;
End;
这样可以看看报的异常是什么!!!Top
7 楼pxingplay(pxingplay)回复于 2004-08-03 14:54:56 得分 4
把LoginPrompt设成false,
看看是否是什么操作系统,有没有互信问题,
logintime设长点。呵呵Top
8 楼risingsoft(一苇渡江)回复于 2004-08-03 15:28:40 得分 2
在你给它设置参数前,加入下列代码
ADOConnection1.Close;
设置参数;
连接OPEN;Top
9 楼zhanjiajun(山石)回复于 2004-08-04 13:01:25 得分 0
我也是想这样作一个连接。但是也有问题。希望高手给出源程序行不?Top
10 楼yuyupluck(莫笑我提得笨)回复于 2004-08-05 16:15:53 得分 4
程序没错,我也遇到过这种情况,只要将客户端的电脑用administrator以下的用户登录(如user),再连你的电脑应该就可以了,你的主服务器的guest用户也要开!!!!Top
相关问题
- 如何提示!!!
- 用ADOQuery连接数据库时提示“一般性网络错误”的问题,但ADOConnection已经连接?
- 如何给提示
- 没接PS2鼠标,每次启动机器的时候都要提示,如何取消这个提示……
- 如何让Window.Close()不提示,就直接关闭就行了
- WIN98连接WIN2K时提示输入密码如何解决。
- 如何得到WebBrowser控件上的链接提示?up有分!
- 如何在命令提示符下连接ORACLE数据库?
- ADOConnection如何动态连接数据库?
- 我出100分请问:我在Win2000pro下,在Access中为数据库加了密码。欲用ADOConnection连接数据库时测试连接失败出现如下提示:"无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。"如何解决?




