以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  系统中应该增加一个用编码动态管理“外部数据源连接”的功能!(即增加一个外部数据源对象!)  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=587)

--  作者:cpayinyuan
--  发布时间:2008/9/18 11:58:00
--  系统中应该增加一个用编码动态管理“外部数据源连接”的功能!(即增加一个外部数据源对象!)

    昨天就认真测试外部数据源的管理,今天又看了另一位老兄的例子,我终于明白问题在哪儿了.目前的外部数据源是在打开项目时自动加载的,而且在加载外部数据源时,还没有加载内部表(包括内部表的窗口),所以在项目事件BeforeConnectOuterDataSource中设置相关参数时窗口、表都不能用。尽管系统命令中有一个Syscmd.Project.ModifyOuterDataSource()命令,但这个命令是打开外部数据源管理窗口,虽然可以设置相关功能但使用很不方便!我认为系统中应该增加一个“外部数据源”对像,提供的属性包括:外部数据源名称,用户名,密码,IP地址,数据库名称等,提供的方法包括:连接外部数据源,断开外部数据源等。这样,用户就可以在事件中以编码的方式动态加载新的外部数据源,甚至卸载外部数据源(当然卸载外部数据源可能会造成意外后果,但这应由用户自己控制,还是应该有这个方法),这要比用Syscmd.Project.ModifyOuterDataSource()命令或菜单打开外部数据源管理窗口方便多了。如果这样改进,只需要增加一个新的对象,对系统的原有功能和系统启动没有任何影响,可能比昨天大家提的几个建议都要好(昨天提的建议包括增加独立于表的窗口、改变加载顺序、增加一个独立的编辑外部数据源设置文本的小程序等),建议贺老师认真考虑。

[此贴子已经被作者于2008-9-18 20:05:16编辑过]

--  作者:贺老六
--  发布时间:2008/9/18 12:03:00
--  

BeforeConnectOuterDataSource

这个事件是专业用户才用得着的,我们不需要研究它。
准备连接外部数据源的时候执行,可以在此修改连接字符串。

e参数属性:

Name:             外部数据源名称
User:             登录用户
ProjectFile:      项目文件名,含路径。
ProjectPath:      返回项目文件所在目录
ConnectionString: 返回或设置连接字符串。

有两点要注意:

FoxTable使用的数据提供程序是OLE DB .NET。
数据源最好是SQL SERVER 或者 ACCESS。

利用本事件,可以根据登录用户的不同,通过修改e参数的ConnectionString属性,链接到不同的后台数据库。


--  作者:cpayinyuan
--  发布时间:2008/9/18 12:10:00
--  
以下是引用贺老六在2008-9-18 12:03:00的发言:

BeforeConnectOuterDataSource

这个事件是专业用户才用得着的,我们不需要研究它。
准备连接外部数据源的时候执行,可以在此修改连接字符串。
e参数属性:

Name:             外部数据源名称
User:             登录用户
ProjectFile:      项目文件名,含路径。
ProjectPath:      返回项目文件所在目录
ConnectionString: 返回或设置连接字符串。
……………………

   
     贺老师,这个事件我知道,但这与我前面提的建议完全是两码事。我的意思不是怎么使用BeforeConnectOuterDataSource这个事件,设置进入项目时加载外部数据源的参数。我是建议增加一个对象来实现用编码的方式对外部数据源进行动态管理(增加的是一个对象,不是事件,就像窗口、按钮一样),目前的系统中是只要一打开项目就自动加载外部数据源,而一旦进入系统,在系统运行过程中只能通过菜单命令才能重新对外部数据源进行管理,还很不方便,对于一个设计好的系统采取这种方式就更不方便。我的意思是打开项目时不再自动加载所有的外部数据源(当然哪些要自动加载可以在外部数据源的属性中设置),而是增加一个管理外部数据源的对象,可以用编码的方式,对外部数据源的属性进行重新设置,并进行加载、断开的动态管理。这样,对系统原有的功能没有任何影响,只是增加一个对象,但这样对外部数据源的管理就要灵活方便了不知多少倍!
    贺老师,或许您对SQL server的功能不是非常看重,所以,功能不是非常灵活还总是出一些小错,但我认为,要设计一个正规的、数据量大的系统,对SQL server支持功能的强弱,是非常重要、非常关键的指标,所以我(可能还有很多潜在用户)对外部数据源的功能非常看重,还是希望您能高度重视!
[此贴子已经被作者于2008-9-18 13:08:55编辑过]

--  作者:eric803
--  发布时间:2008/9/18 12:38:00
--  
 如果能加上,那就perfect.
 用代码随需创建/断开数据源,狐表支持远程数据源就很灵活方便了!
 
 支持楼主!


[此贴子已经被作者于2008-9-18 12:38:17编辑过]

--  作者:cpayinyuan
--  发布时间:2008/9/18 16:20:00
--  期待中!
高度期待中!
--  作者:smileboy
--  发布时间:2008/9/18 16:39:00
--  
建议楼主发贴时用默认文字颜色,说实在的,看你发的帖子眼很累。