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');
这两个键之后,便就马上可以连接上!
请问:这是为什么,应该怎么改呀,谢谢各位
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');
这两个键之后,便就马上可以连接上!
请问:这是为什么,应该怎么改呀,谢谢各位
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
楼上啊,我的机子当然装了,如今还在做呀,我的问题到底是什么回事哦,怎么解决呢。谢谢!
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'