关于delphiADO连接sqlserver数据库联接服务器问题

sunshareforever 2003-08-24 08:47:04
本今天早起大早加班,出现在怪事,在本人自已机器用delphiado控件连接数据库怎么也联不上,但是在后台确能联上,而在其它机器连接我数据库也能联上,我联谁的数据库都连不上,出现错误提示
[DBNETLIB][ConnectionOpen(connect()).]SQL server 不存在或访问被拒绝

请各位帮忙,十分火急,在线等待.
...全文
82 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
shodoy 2003-09-02
  • 打赏
  • 举报
回复
是SYSTEM32下面SQL的動態連接庫的版本問題,
你將連接正常電腦SYSTEM32下面的SQL 動態連接庫拷貝到你的電腦上應該就可以了.
Drate 2003-09-02
  • 打赏
  • 举报
回复
那看来你的数据库是没有问题的
问题可能出在你的ADO或是你本机的网络设置上
不过这样的问题比较奇怪,所以一时也没有什么好办法
只有说用不同的办法多试试吧, 重装ADO呀,或是用ODBC其它的方式连接试一试呀
coolfilm 2003-09-02
  • 打赏
  • 举报
回复
你的ODBC的动态库出了问题你重装ODBC就行了
sunshareforever 2003-08-31
  • 打赏
  • 举报
回复
up
wdsimon 2003-08-24
  • 打赏
  • 举报
回复
重装DELPHI
linuxyf 2003-08-24
  • 打赏
  • 举报
回复
不是,如果你的机子上装了网络防火墙,也可能出现这个问题,关闭网络防火墙试一下。祝你好运!
fhuibo 2003-08-24
  • 打赏
  • 举报
回复
我也遇到 过类似的问题
不过重起计算机后就每问题了
nhdj 2003-08-24
  • 打赏
  • 举报
回复
如果还不行,就重新安装操作系统。 ^_^
nhdj 2003-08-24
  • 打赏
  • 举报
回复
如果还不行,就重新安装sql server
nhdj 2003-08-24
  • 打赏
  • 举报
回复
可能是你的ado连接库文件丢失或者出错了,重新安装一遍ado吧
一个使用ADO连接池的示例,演示了TADOStoredProc动态参数的使用,带重连机制 =================== unit UnitDemo; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; //数据库服务器 gDBServer: String = '127.0.0.1'; //数据库名称 gDBName: String = 'master'; //数据库用户名 gDBUser: String = 'sa'; //密码 gDBPass: String = '2001'; implementation {$R *.dfm} uses ADODB, UnitADOConnectionPool; const CreateSQL = 'create procedure TestMyPool (@type sysname) '#13#10+ 'as'#13#10+ 'select * from sysobjects where xtype=@type'#13#10+ 'return @@rowcount'; DeleteSQL = 'if Exists(select 1 from sysobjects where xtype=N''P'' and name=N''TestMyPool'')'#13#10+ ' drop procedure TestMyPool'; var gPoolMan: TADOConnPoolMan = Nil; procedure TForm2.Button1Click(Sender: TObject); var ADOObject:TADOConnPoolObject; ADOStoredProc:TADOStoredProc; Running :Integer; I: Integer; begin //取得一个存储过程资源(含一数据库有效连接ADOObject := gPoolMan.CreateSP('TestMyPool'); if ADOObject = Nil then //取得资源失败 Exit; try ADOStoredProc := ADOObject.ExecObject as TADOStoredProc; Running := 2;//允许重试(两次)操作,以便在操作失败之后达到重连 while Running>0 do begin Dec(Running); if ADOObject.NeedRefresh then begin//判断是否有重连标志(比如数据库断开等,可能需要进行重连) if Not ADOObject.Reconnect then Exit; ADOObject.NeedRefresh := Not ADOStoredProc.Parameters.Refresh; if ADOObject.NeedRefresh then Exit; end; for I := 1(*Zero is the *Result* Parameter*) to ADOStoredProc.Parameters.Count - 1 do begin //========================= //传递参数 ADOStoredProc.Parameters.Items[I].Value := 'U'; //========================= end; if Running 0 then try //执行存储过程 ADOStoredProc.Open; //执行存储过程成功,退出循环进入后续的数据处理 break; except On E:Exception do begin //执行失败非程序级的异常通常有两种可能: //1.数据库连接断开 //2.自适合的参数传递当中可能存储过程已更新,参与不一致 //设置重连标志 ADOObject.NeedRefresh := True; //=================== //这里记录数据库操作失败日志 //=================== end; end; Exit; end; //========================== //从ADOStoredProc当中读取记录 ShowMessage(IntToStr(ADOStoredProc.Parameters.ParamByName('Result').Value)); //========================== //关闭存储对象的资源 ADOStoredProc.Close; finally //调用结束,释放资源 ADOObject.Free; end; end; procedure TForm2.FormCreate(Sender: TObject); var ADOConn:TADOConnection; begin (****************BEGIN*******************) (*注:仅为测试准备 *) //初始化测试环境 ADOConn := Nil; if Not TADOConnPoolMan.ConnectADO( gDBServer,gDBUser,gDBPass,gDBName,true,ADOConn) then Exit; try ADOConn.Execute(DeleteSQL); ADOConn.Execute(CreateSQL); finally try ADOConn.Close; except end; ADOConn.Free; end; (*****************END********************) //初始化连接池 gPoolMan := TADOConnPoolMan.Create(gDBServer,gDBUser,gDBPass,gDBName,true); end; procedure TForm2.FormDestroy(Sender: TObject); var ADOConn:TADOConnection; begin //释放连接池 if Assigned(gPoolMan) then gPoolMan.Free; (****************BEGIN*******************) (*注:仅为测试准备 *) //清理测试环境 ADOConn := Nil; if Not TADOConnPoolMan.ConnectADO( gDBServer,gDBUser,gDBPass,gDBName,true,ADOConn) then Exit; try ADOConn.Execute(DeleteSQL); finally try ADOConn.Close; except end; ADOConn.Free; end; (*****************END********************) end; end.
SQL+SERVER+2005+管理与开发技术大全.part1.rar 共2个压缩包,需要全部下载才能解压. 《SQL Server 2005开发技术大全》全面介绍了SQL Server 2005应用开发所需要的技术和技巧。   《SQL Server 2005开发技术大全》由7个部分组成。第1篇为基础篇,介绍了SQL Server 2005的入门知识、如何安装SQL Server 2005、如何管理与配置SQL Server 2005服务器、如何配置SQL Server 2005网络、如何通过SQL Server Management Studio操作及管理SQL Server 2005;第2篇为语言篇,介绍Transact-SQL语言的基础知识、如何用SQL语句进行查询、如何用SQL语句定义与操作数据;第3篇为深入SQL Server篇,介绍如何使用索引、视图、存储过程、触发器和游标等知识;第4篇为管理篇,介绍如何维护数据库、XML的应用、如何使用性能工具优化数据库、如何提高SQL Server 2005安全的方法;第5篇为开发篇,介绍如何在Visual Studio 2005开发SQL Server 2005对象、如何使用SMO对象编程、如何使用ADO.NET编程;第6篇为高级篇,介绍如何创建报表和报表模型及如何使用报表、如何创建分析服务项目和数据挖掘、如何使用复制等;第7篇为用其他开发工具访问SQL Server 2005数据库,分别介绍了如何使用ASP.NET、ASP、Visual Basic、Visual C++和Delphi这些开发工具访问SQL Server 2005数据库。   《SQL Server 2005开发技术大全》可供初学者阅读学习,也可以作为中级读者的提高教程,书中大量且详细的T-SQL语法及在其他开发中所用到的技术可以作为开发人员的参考手册,随时进行查阅。

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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