C#中启用托管的Oracle.ManagedDataAccess访问Oracle数据库

上个月有个项目从基于Oracle数据库的Infor ERP LN系统中多表关联查询记录,遇到一张600多万的记录表,造成本来MSSQL的Linked Server方式好用的SQL频频超时。难道是服务器与服务器之间的网络有问题?还是MSSQL 2008 R2的问题?也朝这个方向研究了一阵,后来想想算了,还是直接连Oracle吧。

原来偷懒的技术债务,不还不行了。

于是启用托管方式的Oracle.ManagedDataAccess.dll,并从老版本4.121.2.20150926的dll更新到了4.122.1.20170524,升级了原来吉日嘎拉的数据访问底层,web.config等,半天搞定老sql的替换,测试跑下来速度飞快了。

推荐一款字体编辑器:FontCreator – The world’s most popular font editor

 LN系统的报表上要设置一下Logo,我用字体的方式来实现,总部推荐我用这个免费的glyphrstudio.com/online/,但真得不好用。

不过经过导入原有字体到glyphrstudio.com/online/,发现字体的备注里面写到“This font was created using FontCreator 5.6 from High-Logic.com”,最终发现这个牛逼的字体设计工具,真得很好用!

官网地址:http://www.high-logic.com/font-editor/fontcreator.html

FontCreator screenshot

BaaN ERP LN私房菜所在的小密圈改名为知识星球了

创建于2017年5月26日的BaaN ERP LN私房菜于2017年8月28日收到小密圈恢复上线及改名通知(全文见:http://mp.weixin.qq.com/s/qS-2uqFdEXqqnmYxm6ZVRw

这里是崔文远Troy Cui的10多年BaaN ERP LN厨艺分享,也会写其它IT信息化方面的思考和和生活感触。还邀请了行业大咖、全球500强IT经理人、总监、CIO、百万年薪高管等职场精英做嘉宾,一起成长。 独行快,众行远! 帮助所有BaaN ERP(Infor ERP LN)从业者更加轻松地获得更大的成功,包括我自己,早日实现百万年薪梦想! 圈子为终生制付费,前100位99元,每增加100人,会费增加100块。 加入后,请务必加我一下微信:13818699609,发给你圈友必读和新手手册

加入方式

1、网址链接:http://t.xiaomiquan.com/qjIuNZb

2、微信扫描二维码

小密圈通知内容摘选:

亲爱的知识星球用户:

让大家久等了,知识星球技术升级完成,正式恢复上线啦。

从今天起,「小密圈」正式更名为「知识星球」。

长期以来,我们希望服务的对象,是各领域的知识达人。他们带来的见识启发和思维碰撞,能点亮无数颗闪亮的星星,形成强大的知识引力场。我们希望在知识星球里,用户能通过众多知识达人的引力场,缩短获取知识的时间,实现知识的星际穿越。因此,我们在新名字中寄托了这样一个美好的愿望。

现在访问知识星球可通过以下几种方式:

知识星球网页版(☜点击即可)

知识星球公众号版(☜点击即可)

知识星球安卓版下载(☜点击即可)

知识星球苹果版:请在苹果商店下载

小程序:扫一扫即可使用。

如何解决C#为ERP LN ION生成的XML文件空节点自动换行问题

小密圈至今没有恢复,先把这篇文章分享到博客吧。

故事的背景是这样的:有个应用要跟ERP LN系统对接,使用了ION,需要在外部程序生成XML进行通讯,我用C# .NET写得,但是一开始一直报错。本以为是ION的设置问题,后来查下来是XML文件中的空节点的标签自动换行,包含了不可见的\n换行字符。

没办法,改程序,将原来的Save写法改为xmlWriter,并设置相关的参数如下,问题解决!

                    //doc.Save(filePath);//空白标签会产生多余换行符
                    XmlWriterSettings settings = new XmlWriterSettings();
                    settings.Indent = true;
                    settings.ConformanceLevel = ConformanceLevel.Auto;
                    settings.IndentChars = "\t";
                    settings.OmitXmlDeclaration = false;
                    using (XmlWriter xmlWriter = XmlWriter.Create(filePath, settings))
                    {
                        doc.Save(xmlWriter);
                    }

参数相关介绍请访问:https://docs.microsoft.com/zh-cn/dotnet/api/system.xml.xmlwritersettings.indent?view=netframework-4.7

是的,BaaN ERP LN私房菜的小密圈20人了!

如题,转一篇本周2我在小密圈发的一段文字,最近几天李海军Leo Li@青岛分享了不少干货:

———————————————————

为何有些圈友进来后,没有按照新帮助手册,改昵称,写个人介绍?一个难得总结自己、展现自己的锻炼机会,既然付费了就更应该珍惜。难道是收费太低了,不心疼?
据说超过30人的微信圈,就很难持续下去。太多人只看热闹,不参与。我希望这里是一个每个人都愿意分享的实名圈子,提问,只言片语都无所谓,自己认为很普通的事情,对别人来说可能很重要!
还是那句话:越多分享,越多收获!
对了,我付费参加了一个为期180天的在线英语培训课,App叫英语流利说。有兴趣的朋友一起参与提高。

链接:Hi朋友,给你一次极速提升英语的机会

如何在 ERP LN 中调用 BarTender 打印各种复杂条码标签?

本周发布的一篇文章,转到这里,详情请加小密圈。

我本来就是技术派出身,一路走到今天,加上各种IT项目管理方面的实战,未来肯定会偏重管理方面的转型,但还是先立足技术,特别是BaaN ERP LN干货来分享。今天发布编号#001的第一篇文章:《如何在 ERP LN 中调用 BarTender 打印各种复杂条码标签?》,因为标签打印,特别是条码标签打印,是我们做ERP的肯定会遇到的需求,本文提供多种经实战后的思路和方案。

The general guidelines for converting to runtime data dictionary in Infor ERP LN

 这是10年来最严重的LN停机事故,写下来给所有LN开发、管理人员。

  1. Before making any changes, make sure you have a system/database backup so that it can be restored in the event there are major errors. Anytime you work with table definitions/changes, there exists the possibility of data loss.

  2. Before setting the new table definitions, have all users out of the system, then do a convert to runtime with wide open range to make sure all existing pending changes (such as those from PMC solutions) have been completed. Then log out and back in. 

  3. Then define your new table and references and convert to runtime again so we know it is just these new changes being converted. You will want to convert at the very least both the new table and tccom001, but ideally open range again.

  4. If you do get errors when converting to runtime, stop working with the runtimes and stop trying again. (call Infor immediately. If you run convert again after the failure, you could overwrite the log files and prevent us from debugging the error.)

  5. If you have no Infor support, and still get errors when converting to runtime failed many times, you should restore the system/database immediately.

记一次销售退货仓单的处理 – Next Activity cannot be determined

直接上图吧,看懂的人自然能看懂。

 

需要通过GTM工具修改数据。

Table whinh312

Field pmsk

before:nennnnnnnnnnnnn

after:neyynnnnnnnnnnn

 

Field acti

before:-

after:whinh3201m000

Table whinh210

Field pmsk

before:nennnnnnnnnnnnn

after:neyynnnnnnnnnnnn

 

Field acti

before:-

after:whinh3201m000