Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将IBM.Data.DB2-driver的排序规则更改为DB2forIBMi_C#_Entity Framework_Db2_Db2 400_Db2 Connect - Fatal编程技术网

C# 将IBM.Data.DB2-driver的排序规则更改为DB2forIBMi

C# 将IBM.Data.DB2-driver的排序规则更改为DB2forIBMi,c#,entity-framework,db2,db2-400,db2-connect,C#,Entity Framework,Db2,Db2 400,Db2 Connect,我们有数百个web应用程序需要支持本地化。我们的后端是Asp.net Web API与旧式DB2 for IBM i的组合 为了从C#连接到DB2,我们使用IBMDataServerClient10.5FP5包->托管的.Net驱动程序 对于System i-package的客户端访问中的本机.Net驱动程序,支持传递附加关键字(SortSequence/Language)以及ConnectionString 我们提出了在IBM.DATA.DB2-drivers特性中使用类似功能的请求,但似乎没

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

为了从C#连接到DB2,我们使用IBMDataServerClient10.5FP5包->托管的.Net驱动程序

对于System i-package的客户端访问中的本机.Net驱动程序,支持传递附加关键字(SortSequence/Language)以及ConnectionString

我们提出了在IBM.DATA.DB2-drivers特性中使用类似功能的请求,但似乎没有任何商业理由,因为它似乎根本没有进展

有人知道其他方法可以将区域性信息选择和其余的db连接信息一起传递给DB2forIBMi吗?(作业描述,db2dsdriver.cfg,db2cli.ini)

比尔,
Kappas

我也没有找到,尽管似乎所有其他驱动程序都支持排序规则参数,包括Java工具箱

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

在我们的案例中,对于法裔加拿大人,以下USRPRF值为 SRTSEQ(*LANGIDSHR) 朗(财务汇报局)

*LANGIDSHR在DB中表示不区分大小写,不区分重音。此参数的默认值为*HEX,通常通过*SYSVAL QSRTSEQ设置。您可能还希望更改*LANGIDSHR的SYSVAL,但我并没有真正在遗留应用程序上进行实验

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


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

我们使用的是EntityFramework,因此无法对系统i-driver使用客户端访问。谢谢提示!