udl文件不能连上sqlserver2000(50分)

  • 主题发起人 主题发起人 ttaa
  • 开始时间 开始时间
T

ttaa

Unregistered / Unconfirmed
GUEST, unregistred user!
连在局域网上的计算机,ft1,ft2,登陆了nt4的服务器。
我在ft1上装了sqlserver2000。
现在想在ft2上建一个udl文件,连上ft1的sqlserver2000。
但我试了好几次都不成功,为什么?
在ft1上建的udl文件,可以连上sqlserver2000的。
 
不一定是udl的问题,其他机上也试一下!
要不用这个
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Registry;

type
TForm1 = class(TForm)
Button1: TButton;
ADOConnection1: TADOConnection;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
//动态选择数据源和数据库

procedure TForm1.Button1Click(Sender: TObject);
var
strConnection: string;
Reg01: TRegistry;
begin
strConnection := '';
Reg01 := Tregistry.Create;
try
//从注册表中读出ConnectionString
Reg01.RootKey := HKEY_CURRENT_USER;
if Reg01.OpenKey('/Software/LdcErpAcc/AdoCon', TRUE) then
strConnection := Reg01.ReadString('Connection');
adoconnection1.ConnectionString := strConnection;
try
adoconnection1.open;
except
adoconnection1.Close;
strConnection := PromptDataSource(Handle, ADOConnection1.ConnectionString);
showmessage(strConnection);

if strConnection <> '' then
begin
adoconnection1.ConnectionString := strConnection;

if (Reg01.OpenKey('/Software/LdcErpAcc/AdoCon', False)) = False then
//如果注册表中没有信息则创建信息
reg01.CreateKey('/Software/LdcErpAcc/AdoCon');
//将ConnectionString写到注册表中
Reg01.OpenKey('/Software/LdcErpAcc/AdoCon', True);
Reg01.WriteString('Connection', strConnection);
adoconnection1.Open;
end
else
Application.Terminate;
end;
finally
Reg01.closekey;
Reg01.free;
end;
end;

end.
 
我等了一天早上,终于有个人回答。哎,要个答案,也真不容易。
china_peng兄:你的方法我会使一下的,但我更想知道为什么
udl文件连不到另一台电脑上的数据库。
 
富翁们都拿去了?没人答我?伤心
 

大虾们快教教我啊。
我再说详细些。
ftnt nt4 server。可以允许administrator,test1,test2......登陆。
ft1 winxp+sqlserver2000+delphi6 用test1登陆局域网。
ft2 win98我已经下载mdac 2.7装上去了。 用test2登陆局域网。
如果用test1登陆ft2,建立的udl文件可以连上sqlserver。
但是用test2登陆ft2,建立的udl文件可以就连不上sqlserver。
sqlserver的安全性身份验证我已设成sql server 和windows (混合模式)。
如果你能用test1用户登陆才行的话,那岂不是很麻烦?
test2.test3......咋办?

我下班了,家里不能上网,希望明天过来有好答案。
 
我曾以试过upgrade to MDAC 2.7搞定.这个问题曾有人发过贴.
 
应该能連上。看看你是不是这两台机子网络都不通!!
 
顶一下,
我保证,局域网和硬件毫无问题。
公司的上百台电脑都是我一手操办,我自认为对网络和硬件还是比较熟的。
我在sql的登陆里加多了几个域用户test2,test3,test4。
在计算机ft2,用这些名字登陆去连接,还是不行啊。sql server是不是还需要设置些什么?
 
那你在哪呀?我过来帮你搞搞啦。
 
哎,现在的富翁不热心,还是自己动手搞定,派分。
to wellknow:但你又热心过火了吧?我在深圳。
 
这个问题的原因是sql server 的登陆方式和登陆权限的问题
,有两个选择,windows方式和sql server sa方式,问题估计
是你选择了windows方式,但是用户的登录权限却混乱了,也就是
说别的机器没有登陆的帐号,没有权限访问服务器,所以,sql sever
也没法登陆了,这种情况并非是网络不通。是授权没到位
 
不要用SQL SERVER默认的管道方式连接,改用TCP/IP连接没问题,只要在.udl里加一句
Network Library=DBMSSOCN就行了。
 
后退
顶部