Comportamento:
Se la memorizzazione delle voci di indice per un archivio DocuWare è stata definita sensibile alle maiuscole e alle minuscole, ovvero se l'opzione "Aggiungi voci di indice in maiuscolo" è disattivata, non è possibile eseguire ricerche senza distinzione tra maiuscole e minuscole quando si utilizzano database Oracle. Se, ad esempio, a un documento è stata assegnata la voce di indice "Huber", questo non verrà trovato se si cerca "huber". Questo perché l'impostazione di ricerca predefinita di Oracle è sensibile alle maiuscole e alle minuscole.
Soluzione:
Importante: questo adattamento modifica l'ordinamento utilizzato da DocuWare per le query del database.Poiché ciò impedisce a DocuWare di utilizzare gli indici del database esistenti, è necessario ricrearli con l'ordinamento utilizzato di seguito.
Per eseguire ricerche senza distinzione tra maiuscole e minuscole, quando si utilizzano database Oracle, è necessario aggiungere il suffisso "_CI" alla fine dei parametri dinamici che controllano l'ordinamento della lingua nazionale (NLS). In questo modo, l'ordinamento NLS BINARIO predefinito diventa insensibile alle maiuscole e alle minuscole grazie all'uso di "BINARY_CI". Questo vale per i database Oracle a partire dalla versione 10gR2.
Per DocuWare è necessario apportare modifiche alle seguenti directory:
DocuWare 6.x
-
…\DocuWare\Authentication Server
-
…\DocuWare\Workflow Server
-
…\DocuWare\Content Server
-
...\DocuWare\Workflow Engine
-
...\DocuWare\Web\Platform\bin
-
...\DocuWare\Web\Settings\bin
DocuWare 7.0 - 7.10
-
…\DocuWare\Authentication Server
-
...\DocuWare\Web\Platform\bin
-
...\DocuWare\Web\Settings\bin
-
...\DocuWare\BackgroundProcessService
DocuWare 7.11+
- ...\DocuWare\Web\SelectLists
-
...\DocuWare\Background Process Service\BusinessProcessWorkflow
Adattare il file "DocuWare.DAL.dll.config" in ognuna di queste directory aggiungendo o commentando il tag <Parameters> come segue:
DocuWare 6.x - 7.2
...
<dataProvider name="OracleDBClient" checkVersion="true"
commandType="DocuWare.DAL.DataAccess.OracleDB.OracleBuilderDBCommand, DocuWare.DAL.OracleDB" dataAdapterType="DocuWare.DAL.DataAccess.OracleDB.OracleBuilderAdapter, DocuWare.DAL.OracleDB"
connectionType="Oracle.DataAccess.Client.OracleConnection, Oracle.DataAccess, Version=2.112.1.2, Culture=neutral, PublicKeyToken=89b483f429c47342"
parameterType="Oracle.DataAccess.Client.OracleParameter, Oracle.DataAccess, Version=2.112.1.2, Culture=neutral, PublicKeyToken=89b483f429c47342"
parameterDbType="Oracle.DataAccess.Client.OracleDbType, Oracle.DataAccess, Version=2.112.1.2, Culture=neutral, PublicKeyToken=89b483f429c47342"
parameterDbTypeProperty="OracleDbType"
commandBuilderType="Oracle.DataAccess.Client.OracleCommandBuilder, Oracle.DataAccess, Version=2.112.1.2, Culture=neutral, PublicKeyToken=89b483f429c47342"
sqlBuilderType="DocuWare.DAL.DataAccess.OracleDB.OracleBuilder, DocuWare.DAL.OracleDB">
<Parameters>
<System.String DictionaryEntryKey="NLS">BINARY_CI</System.String>
</Parameters>
</dataProvider>
...
DocuWare 7.3 - 7.x
...
<dataProvider name="OracleDBClient"
checkVersion="true"
commandType="DocuWare.DAL.DataAccess.OracleDB.OracleBuilderDBCommand, DocuWare.DAL.OracleDB"
dataAdapterType="DocuWare.DAL.DataAccess.OracleDB.OracleBuilderAdapter, DocuWare.DAL.OracleDB"
connectionType="Oracle.ManagedDataAccess.Client.OracleConnection, Oracle.ManagedDataAccess, Version=4.122.18.3, Culture=neutral, PublicKeyToken=89b483f429c47342"
parameterType="Oracle.ManagedDataAccess.Client.OracleParameter, Oracle.ManagedDataAccess, Version=4.122.18.3, Culture=neutral, PublicKeyToken=89b483f429c47342"
parameterDbType="Oracle.ManagedDataAccess.Client.OracleDbType, Oracle.ManagedDataAccess, Version=4.122.18.3, Culture=neutral, PublicKeyToken=89b483f429c47342"
parameterDbTypeProperty="OracleDbType"
commandBuilderType="Oracle.ManagedDataAccess.Client.OracleCommandBuilder, Oracle.ManagedDataAccess, Version=4.122.18.3, Culture=neutral, PublicKeyToken=89b483f429c47342"
sqlBuilderType="DocuWare.DAL.DataAccess.OracleDB.OracleBuilder, DocuWare.DAL.OracleDB">
<Parameters>
<System.String DictionaryEntryKey="NLS">BINARY_CI</System.String>
<System.String DictionaryEntryKey="NLS_COMP">LINGUISTIC</System.String>
</Parameters>
</dataProvider>
...
È necessario un ulteriore adattamento del file "DAL.dll.config" per rendere insensibile la ricerca dei caratteri jolly.
Adattare le seguenti directory:
-
...\DocuWare\Content Server (DocuWare 6.x)
-
...\DocuWare\Web\Platform\bin
-
...\DocuWare\Web\Settings\bin
Aggiungere alla riga 3 il parametro LikeIgnoreCase="True".
La riga modificata dovrebbe ora assomigliare a questa:
...
<dataSettings LikeIgnoreCase="True" AutoTempTableListSize="...
...
Questo non funziona completamente in DocuWare 6.5, poiché gli elenchi di selezione saranno ancora sensibili alle maiuscole e minuscole dopo questi adattamenti.
Si consiglia di aggiornare DocuWare 6.7 (HotfixPack 52) o versione successiva.
Si prega di notare: Questo articolo è una traduzione dalla lingua inglese. Le informazioni contenute in questo articolo si basano sulla/le versione/i originale/i del/i prodotto/i in inglese. Potrebbero esserci errori minori, come nella grammatica utilizzata nella versione tradotta dei nostri articoli. Sebbene non possiamo garantire la completa accuratezza della traduzione, nella maggior parte dei casi troverai che è sufficientemente informativa. In caso di dubbio, fai riferimento alla versione inglese di questo articolo.
KBA è applicabile SOLO alle organizzazioni on-premise.
