首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建对与pyodbc一起使用Sage ERP数据库具有只读访问权限的帐户

如何创建对与pyodbc一起使用Sage ERP数据库具有只读访问权限的帐户
EN

Stack Overflow用户
提问于 2018-05-15 01:17:41
回答 1查看 397关注 0票数 1

我是StackOverflow的一个相对较新的用户,所以如果我在我的帖子中违反了任何规则,我向您道歉。

这里有一些快速的背景知识来设置我的问题的背景。我是一家制造公司的质量分析师,该公司在使用Sage ERP X3 V6.5管理的数据库中存储有关产品、采购订单、拒收信息等的所有相关信息。

我想创建一个应用程序,将允许我们以一种比目前更强大的方式分析拒绝信息。目前,我们被迫通过Sage ERP软件建立数据库连接。我更喜欢Python,觉得它是探索这个数据集的一种更强大的方式。

我在使用数据库方面没有非常丰富的经验,因此我要求更高级别的用户通过ODBC连接设置对我们数据库的只读访问权限。他的推理相当含糊,但他似乎认为这样做是不可能的。

这就引出了我的问题:是否可以(通过Sage ERP或其他介质)创建一个对我们所有数据库具有一般只读访问权限的用户?我相信你能看出来,对于这样的问题,我知道的术语不多,所以我很乐意扩展我的帖子,或者回答那些尽我所能回答问题的人的任何问题。

EN

回答 1

Stack Overflow用户

发布于 2019-03-22 19:30:48

刚刚看到了这个。对于9个月的延迟,我表示歉意。你可能已经解决了这个问题,或者找到了一个解决方法,但这里是给下一个有同样问题的人的:

是的,这不仅是可能的,而且非常容易。这是到SOTAMAS90 DSN的一个简单的ODBC连接。这是您的连接字符串:

"DSN=SOTAMAS90;UID=myUserId;PWD=myPassword,Company=XXX“

只需确保myUserId拥有正确的权限(您可以在Library Master模块的用户/角色维护中进行设置)。然后使用常规的ODBC方法读取数据。它自动成为一个只读的数据库。

请注意,默认情况下,安装Sage 100时仅安装32位ODBC驱动程序。64位版本可以在Sage安装文件夹的WKSetup目录中找到。

而且,不幸的是,它有点慢。由于Sage 100使用自己专有的基于文件的数据存储机制,而不是关系数据库来存储数据,因此它实际上无法访问非聚集索引。这使得每个WHERE子句基本上都是全表扫描。过去,当性能有问题时,我所做的是创建一个夜间ETL作业,将我需要的所有MAS表复制到关系数据库管理系统(如SQL Server或MySql )中,然后为我需要搜索的所有外键和列创建索引。如果您需要的数据比每24小时更新一次,则可以针对MAS表编写用户定义的脚本,这些表处理写入、删除和更新等事件。在这些脚本中,您可以连接到SQL数据库并创建/更新/删除必要的记录。

当然,根据您的Sage版本和安装选项,可能会有超过1,000个表,因此请明智地选择。

祝你好运。

Aaron

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50335750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档