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

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

请各位帮忙,十分火急,在线等待.
...全文
83 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语法及在其他开发中所用到的技术可以作为开发人员的参考手册,随时进行查阅。
武 汉 工 程 大 学 计算机科学与工程学院 《数据库系统概论》实验报告 "专业班级 "11网工1-2 "实验地点 "计算机大楼423机房 " "学生学号 " "指导教师 " " "学生姓名 " "实验时间 " " " " "实验项目 "实验3 数据库设计与应用开发(6学时) " "实验类别 "操作性() 验证性() 设计性( ) 综合性( ) 其它 " " "( ) " "实验目的及要 "1. 依照数据库设计的方法,完成学生管理系统的数据库设 " "求 "计。 " " "2. 掌握程序设计语言和SQL-Server的连接方法。 " " "3. 建立简单的数据库访问界面。掌握数据库应用系统开发 " " "的基本方法。 " " " "成 绩 评 定 表 " "类 别 "评 分 标 准 "分值 "得分 "合 计 " "上机表现 "积极出勤、遵守纪律 "30分 " " " " "主动完成实验设计任务 " " " " "程序代码 "比较规范、基本正确 "30分 " " " " "功能达到实验要求 " " " " "实验报告 "及时递交、填写规范 "40分 " " " " "内容完整、体现收获 " " " " "说明: 评阅教师: " " " "日 期: 2013 年 月 日 " "实 验 内 容 " "实验内容: " "依照学生管理系统的要求,完成如下任务 " "1.设计适合此应用需求的规范化的数据库。 " "2.学习如何进行数据库连接。 " "4.制作一个简单的数据库访问程序。(DELPHI、VB、PB等) " "要求能完成下列处理要求: " "1.学生信息的增、删、改及查询操作。 " "2.选课和课程信息的系列操作。 " "实验步骤: " "一、VB连接SQL Server数据库方法一: " "1)打开VB,新建一个"标准EXE"。 " " " " " "2)在"工程"里面选择"部件",添加"Microsoft ADO Data Control " "6.0(SP6)"和"Microsoft DataGrid Control 6.0(SP6)",点击"确定"。 " " " " " " " "3)在左侧工具中双击Adodc控件和DataGrid控件并将其放在合适的位置。 " " " " " "4) " "右击Adodc1,在弹出的下拉菜单中选择"ADODC属性",出现属性页,选择"使 " "用连接字符串",点击"生成",选择"Microsoft OLE DB Provider for SQL " "Server",点击下一步。 " " " " " " " "5)在"数据链接属性"中输入如图所示信息,点击确定。 " " " " " "6)点击"测试连接"。 " " " " " "7) 在Form1空白处双击鼠标左键,弹出代码编辑窗口。 " " " " " "8)在编辑窗口输入如下代码。 " "Private Sub DataGrid1_Click() " "Adodc1.Visible = False " "Adodc1.RecordSource = "select * from Student" " "Adodc1.Refresh " "Set DataGrid1.DataSource = Adodc1.Recordset " "DataGrid1.Refresh " "End Sub " " " " " " " "9)点击"运行",则连接到JXGL数据库的Student表,出现如图所示的结果。 " " " " " " " "10)连接Course表和SC表只需将代码中的表名修改即可,得到如下结果。 " "(1)VB和JXGL数据库Course表连接结果: " " " "(2) VB和JXGL数据库SC表连接结果: " " " " " "VB连接SQL Server数据库方法二以及数据库的访问程序: " "(一)VB连接SQL Server数据库: " "打开控制面板,双击"数据源"图标。 " " " "在"ODBC数据源管理器"中选择"系统DSN",点击"添加"按钮,出现"创建新数 " "据源页面",选择添加SQL Server。 " " " " " "在创建到SQL " "Server的新数据源中输入"数据源名称",选择我们需要的服务器类型。 " " " "4)在"创建到SQL Server的新数据源"中选择"使用网络登录ID的Windows " "NT验证"。 " " " "5)在"更改默认的数据库为(D)"选择我们所需的数据源名称,点击"下一 " "步" " ",再点击"完成"。 " " " " " "6)点击"测试数据源",出现"测试成功",则连接成功。 " " " "数据库的访问程序: " "1、对数据库的查询: " "

5,386

社区成员

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

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