使用IBM.Data.DB2-driver将归类顺序更改为DB2 for IBM i

时间:2015-03-09 08:08:17

标签: c# entity-framework db2 db2-400 db2-connect

我们有数百个需要支持本地化的网络应用。我们的后端是Asp.net Web API与遗留DB2 for IBM i的组合。

要从C#连接到DB2,我们使用IBM Data Server Client 10.5 FP5软件包 - >管理.Net驱动程序。

使用来自Client i-package的Client Acccess的原生.Net驱动程序,支持传递其他关键字(SortSequence / Language)和ConnectionString。

要使用IBM.DATA.DB2-drivers功能提供类似的功能,但似乎没有商业理由,因为它似乎根本没有进展。

https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe&CR_ID=56495

有没有人知道将文化信息选择和其他数据库连接信息传递给DB2 for IBM i的任何其他方法? (job desription,db2dsdriver.cfg,db2cli.ini)

BR, Kappas

1 个答案:

答案 0 :(得分:0)

虽然看起来所有其他驱动程序似乎都支持排序规则参数,但我没有找到,包括Java Toolbox。

我使用的解决方法是根据排序顺序的语言规范设置用于连接池的用户配置文件。

在我们的案例中,对于法国加拿大人,以下USRPRF值是 SRTSEQ(* LANGIDSHR) LANG(FRC)

* LANGIDSHR表示DB世界中不区分大小写,不区分重音。此parm的默认值为* HEX,通常通过* SYSVAL QSRTSEQ设置。您可能还希望更改SYSVAL for * LANGIDSHR,但我并没有真正尝试对遗留应用程序的影响。

您无法以编程方式使用排序规则,但仍可以创建尽可能多的用户,您需要进行不同的排序规则并在它们之间切换。

大警告:如果您创建了索引来加速访问,则必须注意索引创建会对索引Creator用户的实际排序规则作出反应。如果DBA用户配置文件显示SRTSEQ * HEX(默认值),则索引将创建为SRTSEQ * HEX,并且不能通过SRTSEQ * LANGIDSHR中的连接使用。我们花了很长时间才弄清楚为什么我们的索引有时被使用,有时候没有。我们最终在过渡期间在* HEX和* LANGIDSHR中创建了索引,直到每个人都设置为* LANGIDSHR。可以在DSPFD中轻松找到任何逻辑文件,索引或视图的Seq Seq,搜索SRTSEQ属性。