不显示删除回复显示所有回复显示星级回复显示得分回复 =========动态创建数据库的脚本应该放在哪里?===========

nightwind2002 2010-11-03 11:23:23
需求是这样的:用户填写完数据库名称和路径,点击确定以后,程序自动创建出数据库,数据库中的表及约束,再往表中插入一些基础数据。

我的问题是:创建出数据库,数据库中的表及约束,再往表中插入一些基础数据,这些脚本我都已经写好了,但是不知道放在哪里执行呢?查了一下也许有如下几种方法:

1)直接把sql语句放在程序里,(比如 sqlStr="create....";)然后执行。
这样做的问题是:脚本太长了,放字符串变量里好像不合适,另外也不好维护。

2)放到文件里,程序执行的时候读文件的内容,然后执行。
这样做的问题是:暴露了库结构,我想让库结构保密的。有人说给文本文件加密,但是,我不知道读文件+加密解密的过程是不是会导致效率低下。

3)放到存储过程里:有人告诉我把这些脚本写成存储过程放到master数据库中,用户点确定以后程序调用master中的存储过程来执行

这样做的问题是:我不会。。。。。。交给客户安装文件以后,如何在安装程序的时候就把这些存储过程放到master数据库中呢?

在此请教各位给出一个可执行的方案,谢谢了!!!
...全文
102 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
nightwind2002 2010-11-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fredrickhu 的回复:]
放到存储过程里面 在程序里调用存储过程
[/Quote]

问题是:存储过程什么时候生成的?放在哪?怎么放?
jwwyqs 2010-11-03
  • 打赏
  • 举报
回复
放加密文件里面比较好些
王向飞 2010-11-03
  • 打赏
  • 举报
回复
基础数据应该有专业人员维护,其他的没什么想法。
--小F-- 2010-11-03
  • 打赏
  • 举报
回复
放到存储过程里面 在程序里调用存储过程
dawugui 2010-11-03
  • 打赏
  • 举报
回复
我建议把这些内容都放到程序里,这样除了你,谁也看不到了。
theseraph 2010-11-03
  • 打赏
  • 举报
回复
你放存储过程里一样可以被看到和修改。就算加权限也很难控制完美,而且实现比较麻烦。
写在程序里的话,就写死了。不灵活。稍有变动就得重新编译和分发布置。
还是写在文件里并加密比较好。性能无需担心。
claro 2010-11-03
  • 打赏
  • 举报
回复
通常是.sql的文件在安装目录下,安装服务端时调用它。

安装服务端程序时需要先安装数据库,客户端不用。
kevn 2010-11-03
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 nightwind2002 的回复:]
引用 8 楼 fengyun142415 的回复:
cs架构的应该有服务器端啊,存储过程放在服务器的数据库


暂时是单机的
[/Quote]
就放在数据库中,你程序启动的时候肯定要连接数据库吧,第一次时候去执行这个存储过程
nightwind2002 2010-11-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 fengyun142415 的回复:]
cs架构的应该有服务器端啊,存储过程放在服务器的数据库
[/Quote]

暂时是单机的
fengyun142415 2010-11-03
  • 打赏
  • 举报
回复
cs架构的应该有服务器端啊,存储过程放在服务器的数据库
nightwind2002 2010-11-03
  • 打赏
  • 举报
回复
我的程序是CS程序,客户在安装的时候不要求安装SQL server,这样的话,我不可能手动在master数据库中先创建好存储过程,所以,说用存储过程的朋友,请说明如何在客户安装程序的时候,就把事先写好的存储过程放到master数据库中?
软件钢琴师 2010-11-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fredrickhu 的回复:]
放到存储过程里面 在程序里调用存储过程
[/Quote]


你用程序先连到master 然后调用存储过程

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧