请问:Delphi+SQLserver奇怪问题!

peanut_pro 2006-03-19 10:59:32
Delphi+SQLserver,我做了数据库连接的测试和注册的窗口,注册,就是把连接数据库信息如数据库服务器名称,IP,登录名,密码写到注册表中,下次便读这信息登录,如下:
try
reg:=TRegistry.Create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('\software\microsoft\msSQLServer\client\connectto',true);
reg.WriteString('DSQuery','DBNETLIB');
reg.WriteString(Trim(ed_server.Text),'DBNETLIB,'+Trim(ed_ip.text)+',1433');
reg.CloseKey;
reg.OpenKey('\software\EquipMgr',true);
reg.WriteString('ServerName',Trim(ed_server.text));
reg.writestring('LoginName',Trim(ed_name.text));
reg.writestring('LoginPwd',addkey(ed_pwd.text));
reg.CloseKey;
reg.free;
except
messagebox(handle,'注册失败!','提示',mb_ok+mb_iconinformation);
//注册失败就要删除上面注册表的添加的键
{
//.......
}
exit;
end;
问题:当我写入注册表后,再去连接数据库就连接不上,错误提示:[DBNETLIB](ConnectionOpen(conection())..]SQL server 不存在或拒绝访问. 就连不上了,当我删除
reg.WriteString('DSQuery','DBNETLIB');
reg.WriteString(Trim(ed_server.Text),'DBNETLIB,'+Trim(ed_ip.text)+',1433');
这两个键之后,便就马上可以连接上!

请问:这是为什么,应该怎么改呀,谢谢各位。。。
...全文
116 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ourlin 2006-03-19
  • 打赏
  • 举报
回复
用ADOConnection连接,可以设ConnectionString, 无需再配置, 比如
ConnectionString :='Provider=SQLOLEDB.1;Password=hhsm;Persist
|_数据库密码
Security Info=True;User ID=sa;Initial Catalog=hhbsnew;Data
|_数据库用户名 |_数据库名
Source=192.168.3.196'
|_数据库服务器的IP或计算机名

ConnectionString := 'Provider=SQLOLEDB.1;Password=hhsm;Persist Security Info=True;User ID=sa;Initial Catalog=hhbsnew;Data Source=192.168.3.196'

Earthnut 2006-03-19
  • 打赏
  • 举报
回复
我第一次用哦,许多地方,不清楚。

假如用户端没有装SQL server,就只要加那几个dll文件,和注册表就行了吗?

那我怎么去配置服务器哦。
ourlin 2006-03-19
  • 打赏
  • 举报
回复
装了那就不需要再这么注册了,配置一下客户端的服务器网络实用工具中的Net-Library就行了
Earthnut 2006-03-19
  • 打赏
  • 举报
回复
DBMSSOCN,DBNETLIB这两个有什么区别,因为开始是写的这个DBMSSOCN,发现有问题,后来看其它机子上就用了这个,就改写了这个,还是一样/
楼上啊,我的机子当然装了,如今还在做呀,我的问题到底是什么回事哦,怎么解决呢。谢谢!

ourlin 2006-03-19
  • 打赏
  • 举报
回复
如果客户端没装sqlserver的话就把
Dbmssocn.dll TCP/IP 支持文件
Dbmsspxn.dll IPX 支持文件
Dbnmpntw.dll 命名管道支持文件
Ntwdblib.dll SQLServer核心文件(这个文件最重要)
这4个文件复制到system目录,
并在注册表添加:
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Client\ConnectTo:
加入如下字符串值:
建名 键值
servername DBMSSOCN,servername,1433
^^ 服务器名称,也可以使ip

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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