【问题标题】:Changing Collation order with IBM.Data.DB2-driver to DB2 for IBM i将使用 IBM.Data.DB2-driver 的排序规则更改为 DB2 for IBM i
【发布时间】:2015-03-09 08:08:17
【问题描述】:

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

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

使用来自 System i-package 的 Client Access 的本机 .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 的任何其他方法? (工作描述,db2dsdriver.cfg,db2cli.ini)

兄弟, 河童

【问题讨论】:

  • 我们正在使用 EntityFramework,因此无法使用 Client Access for System i-driver。

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


【解决方案1】:

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

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

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

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

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

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

【讨论】:

  • 感谢您的提示!
猜你喜欢
  • 2015-06-05
  • 1970-01-01
  • 2013-05-10
  • 2020-11-20
  • 2018-06-10
  • 2021-01-28
  • 1970-01-01
  • 1970-01-01
  • 2011-02-13
相关资源
最近更新 更多