为什么不建议直接操作AX数据库
2015-09-21 16:42
218 查看
千万不要通过直接操作数据库的方式来修改AX数据,有这几方面的原因:
1.直接操作数据库可能会导致后续的业务逻辑没有被触发,这非常重要。
2.必须非常了解AX的核心思想,包括partitions/company/table inheritance/date-effective等等。
3.AX许多元数据,比如绝大多数重要的表关系,是写在代码里的。
4.规避AX安全设置而带来的权限方面的风险。
5.写入新数据,需要处理record id及其他有关的系统字段。
6.绕过数据缓存,可能会导致AOS服务器忽略你的修改。因为它没有被通知进行验证。
7.尤其不要修改schema,它每次进行重要更新都不会有任何提示或者警告。
8.由于该操作不被AX所支持,所以在日后数据发生问题的时候,微软官方将不会提供帮助。
总结:
如果是想从数据库读取数据,那么可以有许多方法办得到,注意权限方面的问题即可。
但如果是想向数据库写入数据,建议不要直接操作数据库,那样风险太大了。可以考虑通过AIF(Application integration framework)或者Web service的方式。
1.直接操作数据库可能会导致后续的业务逻辑没有被触发,这非常重要。
2.必须非常了解AX的核心思想,包括partitions/company/table inheritance/date-effective等等。
3.AX许多元数据,比如绝大多数重要的表关系,是写在代码里的。
4.规避AX安全设置而带来的权限方面的风险。
5.写入新数据,需要处理record id及其他有关的系统字段。
6.绕过数据缓存,可能会导致AOS服务器忽略你的修改。因为它没有被通知进行验证。
7.尤其不要修改schema,它每次进行重要更新都不会有任何提示或者警告。
8.由于该操作不被AX所支持,所以在日后数据发生问题的时候,微软官方将不会提供帮助。
总结:
如果是想从数据库读取数据,那么可以有许多方法办得到,注意权限方面的问题即可。
但如果是想向数据库写入数据,建议不要直接操作数据库,那样风险太大了。可以考虑通过AIF(Application integration framework)或者Web service的方式。
相关文章推荐
- redis学习之 aof
- PostgreSQL的MD5加密不重复的方法
- oracle 12c 三学习 pdb 可插拔测试
- SqlServer中解析字符串的表值函数
- oracle 11g对大表中添加DEFAULT值的NOT NULL字段速度有大幅度的提升
- 如何修复VUM在客户端启用之后报数据库连接失败的问题
- zz entity framework vs linq to sql
- mysql编译问题集
- 常见SQL注入函数
- mysql之视图
- 如何修复VUM在客户端启用之后报数据库连接失败的问题
- ASE中的主要数据库
- Memcache系列(一)Linux安装memcache
- Code Frist for Mysql 实例
- mysql数据库5.6.24安装与优化配置
- redis主从切换的重订阅
- EXPLAIN 关键字可以 查看 sql执行 的详细过程
- EXPLAIN 关键字可以 查看 sql执行 的详细过程
- CodeFirst for MySql
- 数据库性能复习