请问如何将SQL数据库与程序一同制作成安装程序(即安装时就配好数据库)?(100分)

  • 主题发起人 主题发起人 BUG-feng
  • 开始时间 开始时间
B

BUG-feng

Unregistered / Unconfirmed
GUEST, unregistred user!
我是用MS_SQL SERVER 的 QUERY ANALYZER编写数据库脚本,
程序由ADO连接本地服务器。
到用户方之需由QUERY ANALYZER生成数据库即可,这样不需配置ODBC。
但是其保密性根本就没有。如何处理呢??
请问如何将SQL数据库与程序一同制作成安装程序?
谢谢回答!!
 
直接安装数据库文件*.MDF 和 *.ldf
在DELPHI中通过 ADOCOMMAND.CommandText:='sp_attach_db 逻辑名,''物理名'',..)'
其中物理名称为路径 + 文件名(*.mdf/*.ldf)
原创软件区 ycrj.delphibbs.com
 
直接将数据库文件*.MDF 和 *.ldf打入安装包,
你可以单独做一个导库的程序或者在主程序里写,如果数据不库存在
将Database连接到Master数据库
执行存储过程sp_attach_db 'dbname','../*.mdf','../*.ldf'
这样数据库就可以被导入了而且还可以带有记录
 
为什么我这样不行呀!
我用adoconnection连接sql7数据库.
按照上述方法使用adocommand.
procedure TForm1.Button2Click(Sender: TObject);
begin
adocommand1.Commandtext:='sp_attach_db aaa,'+#39+'c:/mssql7/data/rsglxt_data.mdf'+#39+','+#39+'c:/mssql7/data/rsglxt_log.ldf'+#39;
end;

程序执行没错但在sql7中没有建立数据库.

如果使用ADOStoredProc则出错:
cannot use empty object or column names,use a single space if necessary.
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOStoredProc1.Parameters[1].Value:='aaa,';
ADOStoredProc1.Parameters[2].Value:=#39+'c:/mssql7/data/rsglxt_data.mdf'+#39+',';
ADOStoredProc1.Parameters[3].Value:=#39+'c:/mssql7/data/rsglxt_log.ldf'+#39;
ADOStoredProc1.Active:=true;
ADOstoredProc1.Prepared;
ADOStoredProc1.ExecProc;
end;

 
这种方法不妥当。你知道数据库服务器的IP地址或HOSTNAME吗?你知道数据库登录名
和密码吗?即使都已经知道了,您能确保网络畅通吗?
如果这些工作真的可以这样完成,那么技术支持工程师可能就要失业了。可事实证明
技术支持和其他工作是一样重要甚至更重要的。
 
服务器端的安装,还是专人去装,这样效果会好一点,还可以收点人工费啊
 
不可能, 装msde倒可以
 
这就是国内的情况,什么东西都要开发好不用人去做,难道计算机完全可以代替人吗?
DBA是不能缺少的,我一直都这样跟我们公司领导说,但是他们想省钱啊,小的系统不想出
人去帮客户安装啊!
唉!听课中,那位DFW有什么解决方案提出来学学!!
 
我也遇到了这样的问题,我是这样做的,对你有没有帮助就不知道了:)
把代码写在程序中
1。'create database '+databasename;
//创建库,
2。'sp_addlogin '+''''+username+''''+','+''''+password+''''+','+''''+databasename+''''
//添加用户
3。‘sp_grantdbaccess '+username
4. 'grant all to '+username
 
一般只能写代码,安装程序没这功能。代码中的SQL语句用analyzer生成。
安装时倒是可以配置ODBC,只不过ServerName只能填localhost,否则你怎么知道目标极叫什么名字?
如果运气不好不是localhost还只能人手动。
 
顺问你的SQL系统安装在本机还是其它数据服务器中?
如时是本机的话。就较好办,
第一,要连接数据服务器,必须有登陆SQL的用户名及密码。(先决条件)
第二,如果你具备这个先决条件,只要在你系统中做好一个ini文件,你可在系统启动时读
读取配置文件。这不可以解决吗?
注:我是用ADO作连接的。如果有兴趣不仿发email予我,我可给你有关的例子.
 
老兄你的email是多少呀?
我的email是dark_eagle@163.net
能把你的例子发给我吗?
 
方雁的回答好象没有对题。我理解此问题是这样的,这也是我想解决的,能给我例子吗??
wangguoping@126.com
思路是:在制作安装时把数据库打包,然后在安装时copy进SQL的database目录中。然后
连接数据库,不知我的思路可行否??怎么实现??谁能给个例子???
 
这个问题一点都不难,想想你是不是要让你的数据库也自己安装?
当你第一次安装时,你要把databasename设为Master,再用
Sql中的restore语句进行数据库恢复即可自行建立而不用手工
我用的就是这种方法,这种方法不通过ODBC
有问题可:tkggai@sina.com
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部