DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: nidaye123888
今日帖子: 0
在线用户: 2
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 cjg98821 (hellow) ★☆☆☆☆ -
盒子活跃会员
2004/2/17 8:31:02
标题:
我在win2000+delphi6+远程sqlserver做的软件在没有装sql的机器上不能打开数据库 浏览:1761
加入我的收藏
楼主: 我在win2000server+delphi6+远程sqlserver做的软件在没有装sql的机器上不能打开数据库 (如果装个sql server的客户端就行了),有没有办法不要安装也行呢?(下面客户机安装的是win2000pro)
----------------------------------------------
因为笨,所以问!
作者:
男 hongfeng (hongfeng) ★☆☆☆☆ -
盒子活跃会员
2004/2/17 8:35:34
1楼: 将sql server的客户端的安装封装在你的软件里。
----------------------------------------------
-
作者:
男 lixaohan (liyang) ★☆☆☆☆ -
普通会员
2004/2/17 9:07:41
2楼: 我也是个初学者,不知道说的对不对。你做的是远程的sql server不管你的客户机上安没安sql server客户端,访问的也不是本地的数据库怎么会打不开呢。是不是你数据库自动连接没有做好啊。发段代码,你试试。使用Delphi自带的DataBase数据库连接控件可以很好的实现SQL数据库的自动连接。
procedure ConnectDatabase(ServerName,DatabaseName,UserName,PassWord:String);
var
  Database1:TDataBase;
begin
   Database1.DatabaseName := ’Test’;
   Database1.DriverName := ’MSSQL’;
   LoginPrompt := False;
   with Database1.Params do
   begin
      Add(’DATABASE NAME=’ + DatabaseName);
      Add(’SERVER NAME=’ + ServerName);     //ServerName也可以是SQL服务器的IP地址
      Add(’USER NAME=’ + UserName);         //设置MSSQL数据的用户名称 如:sa
      Add(’OPEN MODE=READ/WRITE’);
      ADd(’SCHEMA CACHE SIZE=8’);
      Add(’BLOB EDIT LOGGING=’);
      Add(’LANGDRIVER=’);
      Add(’SQLQRYMODE=’);
      Add(’SQLPASSTHRU MODE=SHARED AUTOCOMMIT’);
      Add(’DATE MODE=0’);
      Add(’SCHEMA CACHE TIME=-1’);
      Add(’MAX QUERY TIME=300’);
      Add(’MAX ROWS=-1’);
      Add(’BATCH COUNT=200’);
      Add(’ENABLE SCHEMA CACHE=FALSE’);
      Add(’SCHEMA CACHE DIR=’);
      Add(’HOST NAME=’);
      Add(’APPLICATION NAME=’);
      Add(’NATIONAL LANG NAME=’);
      Add(’ENABLE BCD=FALSE’);
      Add(’TDS PACKET SIZE=4096’);
      Add(’BLOBS TO CACHE=64’);
      Add(’BLOB SIZE=32’);
      Add(’PASSWORD=’ + PassWord);        //设置MSSQL用户口令;
   end;
   try
     Database1.Connected := true;
     Query1.DatabaseName := ’Test’;
     ...   //数据库查询
    
   Except
     Application.MessageBox(’数据库连接错误!’,’错误’,MB_OK+MB_ICONERROR);
   end;
end; 

----------------------------------------------
-
作者:
男 cjg98821 (hellow) ★☆☆☆☆ -
盒子活跃会员
2004/2/17 11:46:53
3楼: 1楼的大哥,如果要封装的话怎么封装?(我很菜的)越具体越好!!
----------------------------------------------
因为笨,所以问!
作者:
男 cjg98821 (hellow) ★☆☆☆☆ -
盒子活跃会员
2004/2/17 11:51:06
4楼: 2楼的大哥,我那个打不开不是指好像文件类型不知道的打不开,而是指连不到数据库的打不开,
你上面的这个程序如果我是用ado做的话,能不能用呀?我现在在单位里没办法试
----------------------------------------------
因为笨,所以问!
作者:
男 zpeihe (stanley) ★☆☆☆☆ -
盒子活跃会员
2004/2/17 13:54:13
5楼: 我也想知道啊,每次都要在WIN200上安装sql server的客户端,真的很麻烦也.......

----------------------------------------------
I just loving Delphi
作者:
男 zsredmoon (=^@^=) ★☆☆☆☆ -
盒子活跃会员
2004/2/17 14:05:10
6楼: 好像不用每次装客户端,记得是打包几个DLL文件,在搜索引擎搜索一下,应该有相关资料。
----------------------------------------------
按此在新窗口浏览图片
=^@^=
作者:
男 firerose (华鸿世纪-火玫瑰) ★☆☆☆☆ -
盒子活跃会员
2004/2/17 14:09:17
5楼: 很简单,不要封装

在ADOConnection控件的ConnectionString属性设置就行了。

如果用的是WIn98系统,而你的SQL服务器不是用的默认实例,那要在Win98系统上安装MDAC 2.7。

也就是说你能用ODBC连接测试成功,那用软件也可以。

我开发了不少企业软件,都是用的SQL2000,根本就不存在要用安装SQL客户端,而SQL客户端只是用来管理数据库的。

除非你用了SQL2000的组件,比如:SQL-DMO。建议少用或不用。
----------------------------------------------
Delphi 免费组件提供 http://www.delphi-free.com
作者:
男 lixaohan (liyang) ★☆☆☆☆ -
普通会员
2004/2/21 12:34:31
7楼: 楼上的朋友,你每次给人家做的项目都不封闭,不发布吗?连源码也给人家看啊。
6楼的朋友说发布的时候要的几个dll文件我以下面提供一下。顺随说一下发布的过程。
1.准备一份Install Shield Express,最好是2.01以上的版本,在Delphi的安装盘上有一个专用版本也可以用,按照制作一般程序安装盘的方法建立安装程序,必须安装BDE和SQL LINKS.

2.在你的Windows\System下面找到以下几个文件(当然你的机器必须已经安装SQLServer):

Dbmssocn.dll TCP/IP 支持文件 
Dbmsspxn.dll IPX 支持文件 
Dbnmpntw.dll 命名管道支持文件 
Ntwdblib.dll SQLServer核心文件(这个文件最重要) 
3.在Fpecify Components and Files的Groups and Files中,将以上几个文件加入到Program Files中去.当然你也可以建立一个组,将这些文件拷贝到System目录中,不过lixaohan个人倾向于拷贝到安装目录,以便反安装的时候可以彻底的删除它们.

4.如果你的程序运行比较简单(比如只有一个网段)现在你已经大功告成了,但不幸的是大多数人的网络环境没有如此简单,下面还要修改注册表:

修改键值:

其中DSQUERY设定默认的连接协议,这里设定的是IPX,128.1.1.1则是专有的连接,这里是设定一个连接名称为128.1.1的连接,使用TCP/IP协议,IP地址为128.1.1.1,你也可以把键名改成其他名称,只要与你的别名中SERVER NAME一项相同即可.

至此,你的安装盘已经做成,现在只需要Building一下就可以了

----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行60.54688毫秒 RSS