当前位置:主页>销售管理软件> 列表

Windows200 + SQLServer,连接服务器前 找服装店库存软件

财务软件版1楼: 客户端:Win200,没有装SQLServer
服务器:Win200 + SQLServer2000
客户端程序要连接服务器,如果事先没有通过网上邻居之类的东东访问服务器就会说连不上。我知道一些办法,但是都不太切实际:
1.两者的Windows登录名和密码相同,或者密码都为空;//服务器不安全
2.在服务器中添加客户端登录时的用户;//客户端要修改密码就麻烦了

XP下好像就没有这个问题,是不是2000的问题,有什么好办法?系统马上要给客户用了,用Windows2000

2楼: 把Guest打开看看

更改一下SQL的认证模式 如服装店库存软件

3楼: 我的SQL本来就是混合模式,XP下一切正常!!!!

4楼: 客户端通过什么来连服务器端的SQL Server

两种验证模式,你在客户端选填SQL Server验证,将SQL Server的USER PASS都填好并保存起来,以后就可以自动连了

5楼: to Xine
ADO连接
你说的什么SQL Server验证?我都是好的,ADOConnection中都写好了,都说了XP上一切正常,2000下通过网上邻居访问一下服务器就可以连接了,不要再怀疑是我程序设置的问题,我想是2000和XP的差别问题。

6楼: 2000服务器那边建一个连接对象机器名称的用户试试。

财务软件版7楼: ADOConnection在填写完参数之后,好像有一个提示保存的对话框



我以很多程序同样用了ADOConnection,2000还是XP,跑得都挺欢,没有什么问题的

或者将你的DEMO放上来

8楼: 我把测试代码放上来:
客户端(Win2000没有SQLServer)测试代码:放个TADOConnection,TButton就可以了
procedure TForm1.Button1Click(Sender: TObject);
var
Ini: TIniFile;
vDataSource, vUserId, vPassWord, vDataBaseName: String;
vConType: Boolean;
begin
{Project.ini的内容:
[Data]
DataSource=PCT
UserId=sa
PassWord=sql
DataBaseName=master
ConType=1
}
ADOConnection1.Connected := False;
Ini := TIniFile.Create(ChangeFileExt(Application.ExeName, ''.ini''));
vDataSource := Ini.ReadString(''Data'', ''DataSource'', ''PCT'');
vUserId := Ini.ReadString(''Data'', ''UserId'', ''sa'');
vPassWord := Ini.ReadString(''Data'', ''PassWord'', ''sql'');
vDataBaseName := Ini.ReadString(''Data'', ''DataBaseName'', ''master'');
vConType := Ini.ReadBool(''Data'', ''ConType'', True);
ADOConnection1.LoginPrompt := False;
if vConType then
ADOConnection1.ConnectionString := ''Provider=SQLOLEDB.1;Password='' + vPassWord
+ '';Persist Security Info=True;User ID='' + vUserId + '';Initial Catalog=''
+ vDataBaseName + '';Data Source='' + vDataSource
else
ADOConnection1.ConnectionString := ''Provider=SQLOLEDB.1;Integrated Security=SSPI;''
+ ''Persist Security Info=False;Initial Catalog='' + vDataBaseName + '';''
+ ''Data Source='' + vDataSource;
try
ADOConnection1.Connected := True;
Application.MessageBox(''连接成功'', ''提示'', MB_ICONINFORMATION + MB_OK);
except
on E: Exception do Application.MessageBox(PansiChar(''连接失败:'' + E.Message), ''提示'', MB_ICONINFORMATION + MB_OK);
end;
end;
测试结果:
1。连接XP服务器,直接显示“连接成功”
2。连接2000服务器(混合认证),显示“连接失败:[DBNMPNTW]ConnectionOpen(CreateFile())”
3。通过网上邻居访问该2000服务器后,再连接,显示“连接成功”

客户那边准备用的服务器要装2000,总不能老让客户端运行前通过网上邻居访问一下服务器吧?谁有好办法?

9楼: 结贴,准备到客户端装连接工具