CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

為何我用ADOConnection連接數據庫總是提示連不上?

楼主hanwen(汉文)2004-08-03 11:45:29 在 Delphi / VCL组件开发及应用 提问

我是這樣連的:  
  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连接数据库时测试连接失败出现如下提示:"无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。"如何解决?

关键词

  • database
  • adoconnection1
  • myinifile
  • loginprompt
  • readstring
  • 程序
  • connectiontimeout
  • servername
  • 辦法
  • 设置

得分解答快速导航

  • 帖主:hanwen
  • befree
  • GoldShield
  • spraydew
  • indexhome
  • pxingplay
  • risingsoft
  • yuyupluck

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo