以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于升级时修改数据库结构问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=118437)

--  作者:sharpspear
--  发布时间:2018/5/2 22:22:00
--  [求助]关于升级时修改数据库结构问题
应用升级时可能会涉及到数据库结构的更改,每次更新都要直接在服务器端操纵数据库,可不可以通过sql脚本在客户端应用程序升级后直接修改服务器端数据库。
设想是:
1、首次在客户端启动升级后应用时,判断远程数据库表结构是否已更改,如果已更改则跳过。
2、如果未更改,则连接数据库,然后调用sql脚本元辰修改表结构。
这种办法也可以用在首次安装时在客户端直接创建远程数据库。
不知如何在客户端执行sql脚本。通过读取脚本然后拆分为单个的sql语句,然后用sqlcommand一句句执行吗,或者有其他方案?


--  作者:有点甜
--  发布时间:2018/5/2 22:26:00
--  

1、你设计程序的时候,不是直接连接服务器数据库测试的?如果是连接自己的数据库测试的,修改后,导出sql语句到服务器端数据库执行。


--  作者:有点甜
--  发布时间:2018/5/2 22:30:00
--  

2、客户端升级不需要修改表结构的。只要服务器端修改过了就行的。

 

如果是打开客户端报错的情况,可以第一次打开的时候不连接数据库,升级后重新打开再连接数据库。


--  作者:sharpspear
--  发布时间:2018/5/3 11:01:00
--  

谢谢甜版,我的想法是,系统升级时,直接将安装程序交付给用户,由用户通过升级操作不仅升级本地程序还同时进行服务器端数据库结构的修改。

这是基于两个原因:

1、因为好多服务器是内网,远程登录服务器操作不便。

2、客户众多,直接远程登录服务器修改数据库结构工作量有点大。

 

查询本论坛,有人提出可以本地通过bat批处理文件执行sql脚本。不知如何操作,可以由FT操作执行bat文件吗?


--  作者:有点甜
--  发布时间:2018/5/3 11:32:00
--  

写一个sql脚本,在里面编写sql语句执行新增表、新增列、修改列等脚本。

 

然后让对方执行运行脚本更新sqlserver数据库。


--  作者:sharpspear
--  发布时间:2018/5/3 13:35:00
--  
好的,感谢