加150分,关于在EXE文件中访问远程SQL数据库的问题? (50分)

  • 主题发起人 主题发起人 MichaelZhu
  • 开始时间 开始时间
To blue_morning,
换了,ADOConnection1.

To xiaojun2000,
我是用sa访问的.
 
我的意思可以动态的改变连接的方法来实现你的要求。
 
To blue_morning,
我明白您的意思. 但是,一但写成EXE文档,那不是每次运行都要改一次?
 
有没有自已写ADOConnection1的连接字符串?
 
To xiaojun2000,
没有.我是用的ADO页上的部件.
 
贴一点代码,看是否有用:
edit2.Text:='abc';
sta1.panels[0].Text:='正在连接..........';
sta1.Update;
kscon:= 'Provider=SQLOLEDB;Integrated Security=SSPI;'+
'Persist Security Info=False;Initial Catalog=sdata;'+
'Data Source='+trim(edit1.Text)+';Use Procedure for Prepare=1;'+
'Auto Translate=True;Packet Size=4096;Workstation ID=k209;'+
'Use Encryption for Data=False;Tag with column collation when possible=False';

alldatan.ku.ConnectionString:=kscon;
try
alldatan.ku.Connected:=true;
sta1.Panels[0].Text:='正在登陆..........';
sta1.Update;
except
sta1.Panels[0].Text:='连接失败..........';
edit1.SetFocus;
sta1.Update;
exit;
end;
ksmain.Label2.Caption:='在线';

这应很简单的了,不明白再说
 
把正确的字符串保存到注册表或是INI文件中。在程序启动时载入。
LoadConnectionString;//是我随手写的,不是函数要你自己完成
try
AdoConnection.Connected = True
except
EditConnectionString(AdoConnection);
SaveConnectionString;//同上
end;
 
To xiaojun2000,
Connectionstring的地址不能访问!

To blue_morning,
是要将ADOConnection的定义写入程序中吗? 为什么提示没有定义ADOConnection?
 
这个IP地址能够访问吗?

我们公司目前已经是这样做的了。

你在哪,要不我给你做个测试!
 
To xiaojun2000,
“Connectionstring的地址不能访问!”,我的意思是程序在执行时出现地址访问非法的错误。
我在广州。
 
adoconnection指你的connection
 
ADOCONNECTION.
应当换成你的Connection的Name.
 
'Provider=SQLOLEDB;Integrated Security=SSPI;'+
'Persist Security Info=False;Initial Catalog=数据容器名称;'+
'Data Source='+你的IP地址+';Use Procedure for Prepare=1;'+
'Auto Translate=True;Packet Size=4096;Workstation ID=当前2000访问的用户名;'+
'Use Encryption for Data=False;Tag with column collation when possible=False';


再看看有没错,要不地址不对,要不权限设置有问题
 
各位,我能PING能远程SQL Server,应该说可能联通了,但是程序在运行时总是报以下这个
错误,结果主界面就是出不来。
Project AAA.exe raised exception class EOleException with message
'[DBNMPNTW] ConnectionOpen (CreateFile())'. Process stopped, Use Step or Run
to continue.
问题解决后再加分!
谢谢!
 
在这样的EXE文件中访问远程数据库,都该注意些什么?
To xiaojun2000,
能谈谈吗?
 
我用TRACE发现,在创建第一个登陆窗口时,就开始报这个错误,但是登陆窗口中并没有活动
的数据链接,只是显示一个窗口而已。唉,哪位大侠能指点指点?
 
我把登陆窗口加在AUTO-CREATE FORMS列表中,创建登陆窗口时倒是没有错了,但是在随后
的第一个SQL.ADD处又出现上述错误。之前已经将QUERY.CLOSE,SQL.CLEAR
(DFW是不是出问题了?为什么我打不开问题列表?)

 
try
AdoConnection.Connected = True
except
EditConnectionString(AdoConnection);
SaveConnectionString;//同上
end;
你像这样做了吗?
另外这样的错误可能是你的程序有在设计时就处于活动状态的DataSet
数据集。如果你这样做了,在编译程序前最好是将adoconnection.connectionstring设为
空。从外部文件得到连接string;
或者把你的SQL Server的IP和用户密码告诉我。我来试试。如果你不放心可以建个临时库
给我试。
 
后退
顶部