Manipulation on BLOB files

Blob data cannot be correctly manipulated if it is over 4MB

The blob data cannot be correctly updated or obtained if it is larger than 4MB.

Cause: By default, the maximum size of the blob data that can be manipulated is 4096 KB, so you cannot manipulate Blob data over 4MB with the default settings.

Solution:

Step 1: Go to %appeon home%\AEM\, and add the following script (in bold) in the web.config XML file. By default, the value of the executionTimeout is 100 seconds, and the value of the maxRequestLength property is 4096 KB. You can use larger value for these two properties according to the specific needs.

......
<system.web>
 <httpRuntime executionTimeout="300" maxRequestLength = "10240" />
<httpHandlers>
......

If the blob data is over 30MB, then you will also need to make change to the IIS maxAllowedContentLength property. The IIS maxAllowedContentLength property specifies the maximum length of content in a request, in bytes. The default value is 30000000 bytes (which is about 30MB). In this case, follow steps below:

  1. Back up the applicationHost.config file which is located in %system32%\inetsrv\config\ (e.g. C:\Windows\System32\inetsrv\config\applicationHost.config).

  2. Modify the applicationHost.config file.

    Change the value of overrideModeDefault property from Deny to Allow, as shown below.

      <sectionGroup name="security">
    …
         <section name="requestFiltering" overrideModeDefault="Allow" />
    …
       </sectionGroup>

    Some PC clients have stringent security rules which prohibit users modifying applicationHost.config in %system32%\inetsrv\config\. To workaround this limitation, you can copy the file to another location, make changes, and then copy it back to %system32%\inetsrv\config\ to replace the old file.

  3. Modify the web.config file in %appeon home%\AEM\. You will need to modify the maxRequestLength property and add the maxAllowedContentLength property, as shown below.

    This is the original script:

    …
    <system.web>
     <httpRuntime executionTimeout="300" maxRequestLength = "10240" />
    <httpHandlers>
    …

    This is the modified script which allows operation with blob data of 60MB:

    …
       <system.webServer>
            <security>
                <requestFiltering>
                    <requestLimits maxAllowedContentLength="6291456" />
                </requestFiltering>
            </security>
        </system.webServer>
    <system.web>
     <httpRuntime executionTimeout="300" maxRequestLength = "61440" />
    <httpHandlers>

Step 2: Restart the IIS server to make this change take effect.

Manipulation on BLOB files for Adaptive Server Enterprise (ASE)

Blob size

To download BLOB data with a data size greater than 32 KB (the default), do the following:

  • On Windows, set Text Size on the Advanced page of the Adaptive Server Enterprise ODBC Driver Configuration window to be greater than the largest expected BLOB.

  • On Linux, set the Text Size entry in the obdc.ini file to be greater than the largest expected BLOB.

ASE ODBC settings

If your DB is ASE, then you can change the ASE ODBC settings for blob sizing. See the following for more details:

http://dcx.sybase.com/1101/en/mlserver_en11/ml-basics-ase-5159304.html.

Manipulation on BLOB files for SQL Anywhere

When working against the SQL Anywhere database, PowerServer has problems in handling the blob files or retrieving data in CrossTab DataWindow.

Cause: if your DB is SAP SQL Anywhere 12 and you have installed SAP SQL Anywhere 12 on the machine, then when installing PowerServer, Appeon will use the SAP SQL Anywhere 12 driver to connect to the SQL Anywhere 10/11/12 by default.

Solution: you can use the following ways to switch the driver to the SQL Anywhere 11 database to connect to the SQL Anywhere 10/11/12, or you can uninstall the PowerServer, install the SQL Anywhere 11, and then install the PowerServer with selecting SQL Anywhere 11 driver engine.

Step 1: Backup and delete the following files in C:\inetpub\wwwroot\appeon\AEM\bin.

  • iAnywhere.Data.SQLAnywhere.dll

  • Server.dll

  • code.key

Step 2: Make a copy of the files in C:\inetpub\wwwroot\appeon\AEM\ServerDll\ASA11 and paste the copies to C:\inetpub\wwwroot\appeon\AEM\bin.