【问题标题】:Sparx EA : detect what database type currently usingSparx EA:检测当前使用的数据库类型
【发布时间】:2017-05-23 18:37:09
【问题描述】:

有没有办法检测正在使用哪种类型的数据库货币作为项目数据源?

因为我需要获取一些内部脚本信息。而且,对于简单的.EAP 项目,SQL 查询看起来像(因为正在使用 Access db):

_repository.SQLQuery(string.Format(@"SELECT * FROM t_script WHERE Notes LIKE '*Script Name=""{0}""*';", scriptName));

但是,如果是 SQL 服务器,我需要执行(正如你已经猜到的那样)稍微不同的书面查询: _repository.SQLQuery(string.Format(@"SELECT * FROM t_script WHERE Notes LIKE '%Script Name=""{0}""%';", scriptName));

那么,有可能吗?

UPD

我找到了一个选项 - 看起来有可以解析的 _repository.ConnectionString 属性

"SparxEaDatabase --- DBType=1;Connect=Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=SparxEaDatabase;Data Source=SOURCENAME;LazyLoad=1;"

还有更多吗?

【问题讨论】:

    标签: sql database enterprise-architect


    【解决方案1】:

    我只想看看Repository.RepositoryType。这将返回示例:JET、MYSQL、SQLSVR

    【讨论】:

    • 哦,你好先生。基连!好东西!我几乎要坚持ConnectionString,但你的选择更好!
    • 在查看我自己的书(回购文件操作)之前,我也会这样做的 xD
    • 该死的,我爱如此,没想到你,先生。 Kilian,例如,先生。 Bellekens,会回答我的问题:)
    • 嗯,你知道什么有趣吗?我无法通过Invoke 调用方法,并且无法像string dbType = _repo.RepositoryType() 那样编译smth,因为找不到这样的方法签名。但是在运行时,当我使用 Ctrl + f9 并运行 _repo.RepositoryType() 它工作正常
    • Geert 在 Sparx 的论坛和他自己的博客上更加活跃。但自从我退休后,我有更多时间在 Sparx 的论坛和这里回答:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-17
    • 2021-08-23
    • 2019-03-10
    • 1970-01-01
    相关资源
    最近更新 更多