Blobs in scripts

I have a table which contains a Blob column. Now Normally these don't even take up as much as 1K, however they can potentially take more than 4K.
They will alwys be less than 32 K.
I want to be able to unload these blobs along with the rest of the data, so that I can have them in a script to loadupagain. I don't want these just to be an export file.
The effect of having these here will be to save hours of configuration, and it really is just the Blob column which is the cause of the headache.

You may use the trick from ApEx developer ( at least i've seen it first there), the main idea is
1) You encode your blob with utl_encode and write encoded content as literals.
2) By loading you proceed opposite ( decode)
3) If blob size is too big, you can split it in chunks, they can be put into collection.
All this gives you a possibility to avoid binaries ( for example in a source control). Of course, makes sense only if blobs are reasonably small. If i find my old code, maybe i'll post a working example, otherwise, if you are interesting in such approach - you can create a minimalistic ApEx application ( don't matter - locally or on hosted oracle server), upload small gif and save it as application image and then export your application. In generated script you'll find such an example.
Best regards
Maxim

Similar Messages

  • Improvements to imp and exp utilities

    Hello all:
    Does 10g release 2 address the issue surrounding the inability for exp and/or imp to handle blob datatypes? We have a database the uses a couple of blob columns and each time (using Oracle 9i) I exp my tables and try to imp them, the blob columns are not created.

    workaround is to create the table with the blob column first and then run the import with ignore=y.
    to generate the blob table script use
    imp file=<filename> indexfile=c:\temp\create_table.sql tables=<blob table>

  • Decode a blob field with a C script in a select query

    HI
    I have a coded field in a table which has been populated using 3rd party software. I need to decode this field so that i could rub a few reports. I have a C script that can decode this field but do not know how to call it up from a select statement.
    Is there any way of decoding this by calling up the C script in a select query.
    Thanks.

    can you duplicate this code into a PL/SQL function?
    Or else, you might try configuring your external procedures setup and call this routine (if it was available as a shared library or a DLL).

  • To Complete BLOB tutorial

    I&rsquo;m trying to finish &ldquo;Defining and Viewing BLOB Data in Oracle Application Express 3.1&rdquo; within this week.
    I&rsquo;m wandering techniques to complete within 30 minutes.
    Couple things blocked me to continue this tutorial.
    1. Altering the Table to Add BLOB Data (step 21)
    2. Viewing BLOB Data in a Report (step 16)
    _?????????????Altering the Table to Add BLOB Data (step 21) ?????????????_
    The download link produces a window that allows you to download a file but it doesn't say the name of the file or where it will be copied to. In the next section, you examine how to specify the parameters associated with the Photo column in a form and report.
    $$$$$$$$$$$$$$$$$$$$$
    The file is open in a separate window. It likes the step 14 of &lsquo;Viewing BLOB Data in a Report&rdquo;
    _????????????? Viewing BLOB Data in a Report (step 16)???????????_
    $$$$$$$$$$$$ I have following error message:
    &ldquo;OEHR_EMPLOYEES&rdquo;.&rdquo;MIMETYPE&rdquo; not found

    Hi
    Example of the script
    alter table "OEHR_EMPLOYEES" add
    ("PHOTO" BLOB NULL,
    "FILENAME" VARCHAR2(255) NULL,
    "MIMETYPE" VARCHAR2(255) NULL,
    "LAST_UPDATE_DATE" DATE NULL)
    set serverout on
    CREATE OR REPLACE DIRECTORY photo_loc AS 'C:\temp';
    create or replace
    PROCEDURE update_lob
    (p_file IN VARCHAR2, p_dir IN VARCHAR2)
    IS
    i_id NUMBER;
    v_b BLOB;
    BEGIN
    DBMS_OUTPUT.ENABLE;
    DBMS_OUTPUT.PUT_LINE('Begin updating row...');
    update oehr_employees
    set photo = EMPTY_BLOB(),
    filename='dog.gif',
    mimetype='image/gif'
    where employee_id = 101
    RETURNING photo into v_b;
    loadLOBFromBFILE_proc(v_b,p_file, p_dir);
    DBMS_OUTPUT.PUT_LINE('Row updated.');
    COMMIT;
    END update_lob;
    CREATE OR REPLACE PROCEDURE loadLOBFromBFILE_proc
    (p_dest_loc IN OUT BLOB, p_file_name IN VARCHAR2,
    p_file_dir IN VARCHAR2)
    IS
    v_src_loc BFILE := BFILENAME(p_file_dir, p_file_name);
    v_amount INTEGER := 4000;
    BEGIN
    DBMS_LOB.OPEN(v_src_loc, DBMS_LOB.LOB_READONLY);
    v_amount := DBMS_LOB.GETLENGTH(v_src_loc);
    DBMS_LOB.LOADFROMFILE(p_dest_loc, v_src_loc, v_amount);
    DBMS_LOB.CLOSE(v_src_loc);
    END loadLOBFromBFILE_proc;
    execute update_lob('dog.gif', 'PHOTO_LOC')
    Kind regards,
    Iloon

  • How to open a file form a blob column?

    I'm storing some files in oracle 9.2 in a blob column, although i can't open them using php 4, I'm using this script :
    <?php
         $SQL="SELECT ID_ARCHIVO,CONTENT";
              $SQL=$SQL." FROM ARCHIVOS_PRUEBAS ";
              $SQL=$SQL." WHERE ID_ARCHIVO =".$v_ID_ARCHIVO ;
              $c=OCILogon("$v_USER" , "$v_PASS" ,"$v_CONEXION" );
              $s = OCIParse($c,$SQL );
              if (!OCIExecute($s)) { print "execution failed"; exit(); }
         OCIFetchInto($s,&$arr,OCI_RETURN_LOBS);
         echo $arr["CONTENT"]->load();
              ?>
    it shows this error
    Fatal error: Call to a member function on a non-object in ov_archivo_detail_test.php on [echo $arr["CONTENT"]->load(); ].
    I know the data is stored correctly since i used toad to save and open the blob file and it was ok, but i still can't find a right way to show the file from the web.
    Message was edited by:
    user560595

    Hi,
    <br>
    <br>
    Did you already try take a look on
    Oracle+PHP Cookbook: Working with LOBs in Oracle and PHP ?
    <br>
    <br>
    Cheers

  • Need help to parse a blob

    I'm trying to write an app to parse unified patch files. I've got a table to hold a set of patches from a single patch file and a table to hold each individual patch within the patch file (a single patch file can patch multiple source files). I'm currently holding the file contents in a blob field. I know how I would do this in python or other scripting languages, but I'm a complete pl/sql n00b, so I'm a bit clueless. Basically, I have the appropriate algorithm for parsing the file, but just not how to do it.
    Does anyone know of a tutorial that explains how to do this? Or maybe post some tips as to what pl/sql modules to look into?

    Kindly go through the following links ->
    http://www.oracle.com/technology/sample_code/tech/windows/odpnet/howto/anonyblock/index.html
    http://www.oracle.com/technology/sample_code/tech/java/jsp/samples/blob/blob.html
    http://www.psoug.org/reference/dbms_lob.html
    Might be helpful for you.
    Regards.
    Satyaki De.

  • Can i move blob column one tablespace to another tablespace

    When I ruining the following script
    ALTER TABLE T_Transaction_Image
    MOVE LOB(RCSCOMPRESSED_IMAGE,CAMERA_PHOTO_1,CAMERA_PHOTO_2,NUMBER_PLATE)
    STORE AS TABLESPACE IMAGE
    I found error
    ORA-22853: invalid LOB storage option specification
    Here we have more than one column having BLOB data type .
    Question
    I want to know can i move multiple column in single alter table ?
    and how can i move blob column one tablespace to another tablespace
    Thanks in advance
    Edited by: abdul moyed on Feb 3, 2011 6:33 PM

    http://decipherinfosys.wordpress.com/2007/11/21/moving-lob-column-to-a-different-tablespace/
    Regards
    Asif Kabir

  • Error deleting VHD: There is currently a lease on the blob and no lease ID was specified in the request

    When attempting to delete a VHD's blob you may receive the following error:
    There is currently a lease on the blob and no lease ID was specified in the request
    While these errors are expected if a VHD is still registered as a disk or image in the portal, we have identified an issue where a lease remains even if the blob is not registered as a disk or image in the portal.
    If you receive one of these errors, first make sure the VHD is not in use:
    In the Windows Azure management portal, if the disk shows up under Virtual Machines,
    Disks, and the Attached To column is not blank, you should first remove that VM in the
    Attached To column by going to VM Instances, selecting the VM, then clicking
    Delete.
    If Attached To is blank, or the VM in the Attached To column was already removed, try removing the disk by highlighting it under
    Disks and clicking Delete Disk (this will not physically delete the VHD from blob storage, it only removes the disk object in the portal). If you have multiple pages of disks it can be easier to search for a specific disk by
    clicking the magnifying glass icon at the top right.
    If Delete Disk is grayed out, or the disk is not listed under Disks, but you still cannot reuse it or delete it, review the options below.
    Breaking the lease
    You can use the
    Lease Blob API to break the lease in this scenario, which is also available in the Windows Azure PowerShell assembly
    Microsoft.WindowsAzure.StorageClient.dll using
    LeaseAction Enumeration.
    To use the BreakLease.ps1 script to break the lease:
    Download Azure PowerShell by clicking Install under Windows here:
    http://www.windowsazure.com/en-us/manage/downloads/
    Start, Search, type Windows Azure PowerShell and open that console.
    Run Get-AzurePublishSettingsFile to launch a browser window to
    https://windows.azure.com/download/publishprofile.aspx to download the management certificate in a
    .publishsettings file in order to manage your subscription with PowerShell.
    Get-AzurePublishSettingsFile
    Run Import-AzurePublishSettingsFile to import the certificate and subscription information. Replace the path below with the full path to the .publishsettings file if you didn't save it to your
    Downloads folder. If you saved it to Downloads you can run it as-is, otherwise replace the path with the full path to the
    .publishsettings file.
    Import-AzurePublishSettingsfile $env:userprofile\downloads\*.publishsettings
    Copy the script below into a text editor such as Notepad and save it as
    BreakLease.ps1.
    Run Set-ExecutionPolicy to allow script execution:
    Set-ExecutionPolicy unrestricted
    Run BreakLease.ps1 with the URL to the VHD in order to break the lease. The script obtains the necessary storage account information, checks that the blob is not currently registered as a disk or as an image, then proceeds to break the
    current lease (if any).
    Sample output:
    BreakLease.ps1 -Uri 'http://clstorage.blob.core.windows.net/vhds/testvm1-testvm1-2012-06-26.vhd'
    Processing http://clstorage.blob.core.windows.net/vhds/testvm1-testvm1-2012-06-26.vhd
    Reading storage account information...
    Confirmed - storage account 'clstorage'.
    Checking whether the blob is currently registered as a disk or image...
    Confirmed - the blob is not in use by the Windows Azure platform.
    Inspecting the blob's lease status...
    Current lease status: Locked
    Unlocking the blob...
    Current lease status: Unlocked
    Success - the blob is unlocked.
    BreakLease.ps1
    Param([string]$Uri = $(Read-Host -prompt "Please specify a blob URL"))
    $ProgressPreference = 'SilentlyContinue'
    echo "Processing $Uri"
    echo "Reading storage account information..."
    $acct = Get-AzureStorageAccount | ? { (new-object System.Uri($_.Endpoints[0])).Host -eq (new-object System.Uri($Uri)).Host }
    if(-not $acct) {
    write-host "The supplied URL does not appear to correspond to a storage account associated with the current subscription." -foregroundcolor "red"
    break
    $acctKey = Get-AzureStorageKey ($acct.StorageAccountName)
    $creds = "DefaultEndpointsProtocol=http;AccountName=$($acctKey.StorageAccountName);AccountKey=$($acctKey.Primary)"
    $acctobj = [Microsoft.WindowsAzure.CloudStorageAccount]::Parse($creds)
    $uri = $acctobj.Credentials.TransformUri($uri)
    echo "Confirmed - storage account '$($acct.StorageAccountName)'."
    $blobclient = New-Object Microsoft.WindowsAzure.StorageClient.CloudBlobClient($acctobj.BlobEndpoint, $acctobj.Credentials)
    $blobclient.Timeout = (New-TimeSpan -Minutes 1)
    $blob = New-Object Microsoft.WindowsAzure.StorageClient.CloudPageBlob($uri, $blobclient)
    echo "Checking whether the blob is currently registered as a disk or image..."
    $disk = Get-AzureDisk | ? { (new-object System.Uri($_.MediaLink)) -eq $blob.Uri }
    if($disk) {
    write-host "The blob is still registered as a disk with name '$($disk.DiskName)'. Please delete the disk first." -foregroundcolor "red"
    break
    $image = Get-AzureVMImage | ? { $_.MediaLink -eq $blob.Uri.AbsoluteUri }
    if($image) {
    write-host "The blob is still registered as an OS image with name '$($image.ImageName)'. Please delete the OS image first." -foregroundcolor "red"
    break
    echo "Confirmed - the blob is not in use by the Windows Azure platform."
    echo "Inspecting the blob's lease status..."
    try {
    $blob.FetchAttributes()
    } catch [System.Management.Automation.MethodInvocationException] {
    write-host $_.Exception.InnerException.Message -foregroundcolor "red"
    break
    echo "Current lease status: $($blob.Properties.LeaseStatus)"
    if($blob.Properties.LeaseStatus -ne [Microsoft.WindowsAzure.StorageClient.LeaseStatus]::Locked) {
    write-host "Success - the blob is unlocked." -foregroundcolor "green"
    break
    echo "Unlocking the blob..."
    $request = [Microsoft.WindowsAzure.StorageClient.Protocol.BlobRequest]::Lease($uri, 0, [Microsoft.WindowsAzure.StorageClient.Protocol.LeaseAction]::Break, $null)
    $request.Timeout = $blobclient.Timeout.TotalMilliseconds
    $acctobj.Credentials.SignRequest($request)
    try {
    $response = $request.GetResponse()
    $response.Close()
    catch {
    write-host "The blob could not be unlocked:" -foregroundcolor "red"
    write-host $_.Exception.InnerException.Message -foregroundcolor "red"
    break
    $blob.FetchAttributes()
    echo "Current lease status: $($blob.Properties.LeaseStatus)"
    write-host "Success - the blob is unlocked." -foregroundcolor "green"
    Alternate method: make a copy of the VHD in order to reuse a VHD with a stuck lease
    If you have removed the VM and the disk object but the lease remains and you need to reuse that VHD, you can make a copy of the VHD and use the copy for a new VM:
    Download CloudXplorer. This will work with other
    Windows Azure Storage Explorers but for the sake of brevity these steps will reference CloudXplorer.
    In the Windows Azure management portal, select Storage on the left, select the storage account where the VHD resides that you want to reuse, select
    Manage Keys at the bottom, and copy the Primary Access Key.
    In CloudXplorer, go to File, Accounts,
    New, Windows Azure Account and enter the storage account name in the
    Name field and the primary access key in the Secret Key field. Leave the rest on the default settings.
    Expand the storage account in the left pane in CloudXplorer and select the
    vhds container (or if the VHD in question is one uploaded to a different location, browse to that location instead).
    Right-click the VHD you want to reuse (which currently has a stuck lease), select
    Rename, and give it a different name. This will throw the error
    could not rename…there is currently a lease on the blob… but click
    Yes to continue, then View, Refresh (F5) to refresh and you will see it did make a copy of the VHD since it could not rename the original.
    In the Azure management portal, select Virtual Machines,
    Disks, then Create Disk at the bottom.
    Specify a name for the disk, click the folder icon under VHD URL to browse to the copy of the VHD you just created, check the box for
    This VHD contains an operating system, select the drop-down to specify if it is
    Windows or Linux, then click the arrow at the bottom right to create the disk.
    After the portal shows Successfully created disk <diskname>, select
    New at the bottom left of the portal, then Virtual Machine,
    From Gallery, My Disks, and select the disk you just created, then proceed through the rest of the wizard to create the VM.
    Thanks,
    Craig

    Just to add an update to this, it looks like the namespaces have changed with the latest version of the SDK. I have updated the script to use the new namespaces, namely: Microsoft.WindowsAzure.Storage.Blob.CloudPageBlob and Microsoft.WindowsAzure.Storage.CloudStorageAccount.
    Param([string]$Uri = $(Read-Host -prompt "Please specify a blob URL"))
    $ProgressPreference = 'SilentlyContinue'
    echo "Processing $Uri"
    echo "Reading storage account information..."
    $acct = Get-AzureStorageAccount | ? { (new-object System.Uri($_.Endpoints[0])).Host -eq (new-object System.Uri($Uri)).Host }
    if(-not $acct) {
    write-host "The supplied URL does not appear to correspond to a storage account associated with the current subscription." -foregroundcolor "red"
    break
    $acctKey = Get-AzureStorageKey ($acct.StorageAccountName)
    $creds = "DefaultEndpointsProtocol=http;AccountName=$($acctKey.StorageAccountName);AccountKey=$($acctKey.Primary)"
    $acctobj = [Microsoft.WindowsAzure.Storage.CloudStorageAccount]::Parse($creds)
    $uri = $acctobj.Credentials.TransformUri($uri)
    echo "Confirmed - storage account '$($acct.StorageAccountName)'."
    $blob = New-Object Microsoft.WindowsAzure.Storage.Blob.CloudPageBlob($uri, $creds)
    echo "Checking whether the blob is currently registered as a disk or image..."
    $disk = Get-AzureDisk | ? { (new-object System.Uri($_.MediaLink)) -eq $blob.Uri }
    if($disk) {
    write-host "The blob is still registered as a disk with name '$($disk.DiskName)'. Please delete the disk first." -foregroundcolor "red"
    break
    $image = Get-AzureVMImage | ? { $_.MediaLink -eq $blob.Uri.AbsoluteUri }
    if($image) {
    write-host "The blob is still registered as an OS image with name '$($image.ImageName)'. Please delete the OS image first." -foregroundcolor "red"
    break
    echo "Confirmed - the blob is not in use by the Windows Azure platform."
    echo "Inspecting the blob's lease status..."
    try {
    $blob.FetchAttributes()
    } catch [System.Management.Automation.MethodInvocationException] {
    write-host $_.Exception.InnerException.Message -foregroundcolor "red"
    break
    echo "Current lease status: $($blob.Properties.LeaseStatus)"
    if($blob.Properties.LeaseStatus -ne [Microsoft.WindowsAzure.Storage.StorageClient.LeaseStatus]::Locked) {
    write-host "Success - the blob is unlocked." -foregroundcolor "green"
    break
    echo "Unlocking the blob..."
    $request = [Microsoft.WindowsAzure.Storage.StorageClient.Protocol.BlobRequest]::Lease($uri, 0, [Microsoft.WindowsAzure.Storage.StorageClient.Protocol.LeaseAction]::Break, $null)
    $request.Timeout = $blobclient.Timeout.TotalMilliseconds
    $acctobj.Credentials.SignRequest($request)
    try {
    $response = $request.GetResponse()
    $response.Close()
    catch {
    write-host "The blob could not be unlocked:" -foregroundcolor "red"
    write-host $_.Exception.InnerException.Message -foregroundcolor "red"
    break
    $blob.FetchAttributes()
    echo "Current lease status: $($blob.Properties.LeaseStatus)"
    write-host "Success - the blob is unlocked." -foregroundcolor "green"

  • Error in Loading a BLOB Column in Oracle Database from 1 to diff  schema

    Hi ALL,
    I am in a POC where in I have to load a BLOB data from 1 schema to a different schema ie from Staging to Target.
    I load my staging(Oracle Schema ) through Oracle PLSQL. Now I have to load to my ODS.
    I am using the LKM (LKM SQL to Oracle) and IKM (IKM Oracle Incremental Update PLSQL).
    It errors out in the 3rd step 3-Loading-SS_0 Load Data
    The script used and the error message is in the attachment. However if I run the script manually it runs and the Load happens successfully. Also I was able to load the same BLOB objects it the tables were in the same schema(In this case LKM is bypassed).
    Any Thoughts on this?
    The Error I receive is:
    java.lang.NumberFormatException: For input string: "4294967295"
         at java.lang.NumberFormatException.forInputString(Unknown Source)
         at java.lang.Integer.parseInt(Unknown Source)
         at java.lang.Integer.parseInt(Unknown Source)
         at oracle.jdbc.driver.OracleResultSetMetaData.getPrecision(OracleResultSetMetaData.java:303)
         at com.sunopsis.sql.SnpsQuery.getResultSetParams(SnpsQuery.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execCollOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlC.treatTaskTrt(SnpSessTaskSqlC.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandSession.treatCommand(DwgCommandSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.g.y(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Unknown Source)
    Thanks & Regards,
    Krishna

    Hi,
    Are you at the same database? If yes is better to grant select, at the schemas where is the source, to your Staging Area user.
    Then, at topology, define all physical schemas under the same Data Server.
    If you are at distinct database a good solution is to use a DBLink (KM) because when a SQL to SQL KM is used, the data go thru agent, making a conversion to Java.
    I'm not sure if it can handle LOB's fields... Every time that I needed to use it was in the ways that I described.
    Does it make any sense to you?
    Cezar

  • How to show an image stored by using SQLLDR as BLOB in ORACLE 10g

    Hi!
    i used SQLLDR to upload images from localhost to my oracle db,
    i saves theme as BLOB`s.
    my problem is:
    i can not view them correctly, showing it using the code below, i get:
    gtìSNEvR=Cm¯ö¾ÆTÿmÖØÏs_û«¬ú ÿSê¯HwýÓ ›[[ü/ñŠÝßSº‡—¢
    does any know what to do?? can help me??
    thank you!
    A.H.S.
    <?php
    echo "<p>Attempting database connection...</p></p>";
    $db_conn = ocilogon("username", "password", "ORACLE_SID");
    if (!$db_conn)
    echo "...FAILED. Check the username, passwd, dbstring given in this script are valid or not.</p>";
    if (OCIError($db_conn))
    $erra=OCIError($db_conn);
    dodberror("SQL Error: $erra $erra[message]");
            exit;
          else
            echo "<p>Connected...</p></p>";
    $table_name="images";
    $stmt = ociparse($db_conn, "select * from $table_name" );
         if (!$stmt)
            echo '<p>parsing error</p></p>';
          if (!ociexecute($stmt,OCI_DEFAULT))
            echo "<font color='red'><p>query execute error!</p></font>";
           echo "<table border=1 cellspacing='0' width='50%'>\n";
           $ncols = OCINumCols($stmt);
           echo "<tr>\n";
           for ($i = 1; $i <= $ncols; $i++) {
                $column_name  = OCIColumnName($stmt,$i);
                echo "<td><b>$column_name</b></td>\n";
           while (OCIFetch($stmt))
               echo "<tr>\n";
            for ($i = 1; $i <= $ncols; $i++)
              $column_name  = OCIColumnName($stmt,$i);
              $column_value = OCIResult($stmt,$i);
              if($column_name=="DATA")  
              //Header("content-type: image/jpg");
               $image = "$column_value->load()";
               echo $column_value;    // gives OBJECT!
               echo "<td><img src='$image' width='48' height='48' align='middle' border='0' alt='not found'> </td>\n";
              //echo "<td><img src='$column_value.jpg' width='48' height='48' a-lign='middle' border='0' alt='not found'> </td>\n"; //works 100%
              //$c1 = '<IMG height=128 width=600 SRC="http://host/' . $row[2] . '">';
                //if ($row[image]) { 
              //header("Content-Type: $row[image_type]"); 
              //print "$row[image]";
                else
              echo "<td><b>$column_value</b></td>\n";
            echo "</tr>\n";
          echo "</tr>\n";
           echo "</table>\n";
          OCIFreeStatement($stmt);
          OCILogoff($db_conn);
        ?>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Do you need to uncomment one of the header() functions? Make sure
    it is called before any text or whitespace is sent.
    Look at the example in PHP 5 Code to Upload and Retrieve an Image (aka BLOB) with Oracle
    -- cj

  • Remote Blob Storage Install - APPCOMPAT: no matching ProductCode found in database.

    I am trying to install Remote Blob Storage in Sharepoint Server 2013 with SQL Server 2008 R2 Express, but it is not creating the table in the database.
    Here is my script
    msiexec /qn /lvx* rbs_install_log.txt /i RBS.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME="WSS_Content_Blob_001" DBINSTANCE="SHAREPOINT" FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1
    Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    APPCOMPAT: looking for appcompat database entry with ProductCode '{56D21E05-679B-40F2-94C1-DB0D7EB2E461}
    My SQL server version is 10.50.6000.34
    In the log file I found the following lines in the bottom of the file, but the table is not in the content database.
    Product: SQL Server 2008 R2 Remote Blob Store -- Configuration completed successfully.
    I am struggling with this issue for long.  It would be great if someone could help.
    === Verbose logging started: 3/4/2015 15:27:16 Build type: SHIP UNICODE 5.00.7601.00 Calling process: C:\Windows\system32\msiexec.exe ===
    MSI (c) (E4:A4) [15:27:16:166]: Resetting cached policy values
    MSI (c) (E4:A4) [15:27:16:166]: Machine policy value 'Debug' is 0
    MSI (c) (E4:A4) [15:27:16:166]: ******* RunEngine:
    ******* Product: RBS.msi
    ******* Action:
    ******* CommandLine: **********
    MSI (c) (E4:A4) [15:27:16:166]: Client-side and UI is none or basic: Running entire install on the server.
    MSI (c) (E4:A4) [15:27:16:166]: Grabbed execution mutex.
    MSI (c) (E4:A4) [15:27:16:182]: Cloaking enabled.
    MSI (c) (E4:A4) [15:27:16:182]: Attempting to enable all disabled privileges before calling Install on Server
    MSI (c) (E4:A4) [15:27:16:182]: Incrementing counter to disable shutdown. Counter after increment: 0
    MSI (s) (00:94) [15:27:16:182]: Running installation inside multi-package transaction D:\RBS.msi
    MSI (s) (00:94) [15:27:16:182]: Grabbed execution mutex.
    MSI (s) (00:54) [15:27:16:182]: Resetting cached policy values
    MSI (s) (00:54) [15:27:16:182]: Machine policy value 'Debug' is 0
    MSI (s) (00:54) [15:27:16:182]: ******* RunEngine:
    ******* Product: D:\RBS.msi
    ******* Action:
    ******* CommandLine: **********
    MSI (s) (00:54) [15:27:16:197]: Machine policy value 'DisableUserInstalls' is 0
    MSI (s) (00:54) [15:27:16:197]: Setting cached product context: User non-assigned for product: FB42F99F09B0E3646985F32DFE3C9C29
    MSI (s) (00:54) [15:27:16:197]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:197]: SRSetRestorePoint skipped for this transaction.
    MSI (s) (00:54) [15:27:16:197]: End dialog not enabled
    MSI (s) (00:54) [15:27:16:197]: Original package ==> D:\RBS.msi
    MSI (s) (00:54) [15:27:16:197]: Package we're running from ==> C:\Windows\Installer\6847f.msi
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: APPCOMPAT: Uninstall Flags override found.
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: APPCOMPAT: Uninstall VersionNT override found.
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: APPCOMPAT: Uninstall ServicePackLevel override found.
    MSI (s) (00:54) [15:27:16:213]: APPCOMPAT: looking for appcompat database entry with ProductCode '{56D21E05-679B-40F2-94C1-DB0D7EB2E461}'.
    MSI (s) (00:54) [15:27:16:213]: APPCOMPAT: no matching ProductCode found in database.
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: MSCOREE not loaded loading copy from system32
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Machine policy value 'DisablePatch' is 0
    MSI (s) (00:54) [15:27:16:213]: Machine policy value 'AllowLockdownPatch' is 0
    MSI (s) (00:54) [15:27:16:213]: Machine policy value 'DisableLUAPatching' is 0
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Machine policy value 'DisableFlyWeightPatching' is 0
    MSI (s) (00:54) [15:27:16:213]: Enabling baseline caching for this transaction since all active patches are MSI 3.0 style MSPs or at least one MSI 3.0 minor update patch is active
    MSI (s) (00:54) [15:27:16:213]: APPCOMPAT: looking for appcompat database entry with ProductCode '{56D21E05-679B-40F2-94C1-DB0D7EB2E461}'.
    MSI (s) (00:54) [15:27:16:213]: APPCOMPAT: no matching ProductCode found in database.
    MSI (s) (00:54) [15:27:16:213]: Transforms are not secure.
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding MsiLogFileLocation property. Its value is 'D:\rbs_install_log.txt'.
    MSI (s) (00:54) [15:27:16:213]: Command Line: TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME=WSS_Content_Blob_001 DBINSTANCE=SHAREPOINT FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1 CURRENTDIRECTORY=D:\ CLIENTUILEVEL=3 CLIENTPROCESSID=10980
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding PackageCode property. Its value is '{1AC68E73-94F1-4A01-B229-82B2F73C3326}'.
    MSI (s) (00:54) [15:27:16:213]: Product Code passed to Engine.Initialize: '{56D21E05-679B-40F2-94C1-DB0D7EB2E461}'
    MSI (s) (00:54) [15:27:16:213]: Product Code from property table before transforms: '{56D21E05-679B-40F2-94C1-DB0D7EB2E461}'
    MSI (s) (00:54) [15:27:16:213]: Product Code from property table after transforms: '{56D21E05-679B-40F2-94C1-DB0D7EB2E461}'
    MSI (s) (00:54) [15:27:16:213]: Product registered: entering maintenance mode
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Determined that existing product (either this product or the product being upgraded with a patch) is installed per-machine.
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Product {56D21E05-679B-40F2-94C1-DB0D7EB2E461} is admin assigned: LocalSystem owns the publish key.
    MSI (s) (00:54) [15:27:16:213]: Product {56D21E05-679B-40F2-94C1-DB0D7EB2E461} is managed.
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: MSI_LUA: Credential prompt not required, user is an admin
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding ProductState property. Its value is '5'.
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding ProductToBeRegistered property. Its value is '1'.
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Note: 1: 1402 2: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 3: 2
    MSI (s) (00:54) [15:27:16:213]: Entering CMsiConfigurationManager::SetLastUsedSource.
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Specifed source is already in a list.
    MSI (s) (00:54) [15:27:16:213]: User policy value 'SearchOrder' is 'nmu'
    MSI (s) (00:54) [15:27:16:213]: Machine policy value 'DisableBrowse' is 0
    MSI (s) (00:54) [15:27:16:213]: Machine policy value 'AllowLockdownBrowse' is 0
    MSI (s) (00:54) [15:27:16:213]: Adding new sources is allowed.
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Package name retrieved from configuration data: 'RBS.msi'
    MSI (s) (00:54) [15:27:16:213]: Note: 1: 2262 2: AdminProperties 3: -2147287038
    MSI (s) (00:54) [15:27:16:213]: Machine policy value 'DisableMsi' is 1
    MSI (s) (00:54) [15:27:16:213]: Machine policy value 'AlwaysInstallElevated' is 0
    MSI (s) (00:54) [15:27:16:213]: User policy value 'AlwaysInstallElevated' is 0
    MSI (s) (00:54) [15:27:16:213]: Using cached product context: machine assigned for product: 50E12D65B9762F04491CBDD0E72B4E16
    MSI (s) (00:54) [15:27:16:213]: Product {56D21E05-679B-40F2-94C1-DB0D7EB2E461} is admin assigned: LocalSystem owns the publish key.
    MSI (s) (00:54) [15:27:16:213]: Product {56D21E05-679B-40F2-94C1-DB0D7EB2E461} is managed.
    MSI (s) (00:54) [15:27:16:213]: Running product '{56D21E05-679B-40F2-94C1-DB0D7EB2E461}' with elevated privileges: Product is assigned.
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding TRUSTSERVERCERTIFICATE property. Its value is 'true'.
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Modifying FILEGROUP property. Its current value is 'default'. Its new value: 'PRIMARY'.
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding DBNAME property. Its value is 'WSS_Content_Blob_001'.
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding DBINSTANCE property. Its value is 'SHAREPOINT'.
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Modifying FILESTREAMFILEGROUP property. Its current value is 'default'. Its new value: 'RBSFilestreamProvider'.
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding FILESTREAMSTORENAME property. Its value is 'FilestreamProvider_1'.
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding CURRENTDIRECTORY property. Its value is 'D:\'.
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding CLIENTUILEVEL property. Its value is '3'.
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding CLIENTPROCESSID property. Its value is '10980'.
    MSI (s) (00:54) [15:27:16:213]: Machine policy value 'DisableAutomaticApplicationShutdown' is 0
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding MsiRestartManagerSessionKey property. Its value is 'f13e91ecbfc5d34cae7163e948e320cc'.
    MSI (s) (00:54) [15:27:16:213]: RESTART MANAGER: Session opened.
    MSI (s) (00:54) [15:27:16:213]: TRANSFORMS property is now:
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding PRODUCTLANGUAGE property. Its value is '1033'.
    MSI (s) (00:54) [15:27:16:213]: PROPERTY CHANGE: Adding VersionDatabase property. Its value is '300'.
    MSI (s) (00:54) [15:27:16:213]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\AppData\Roaming
    MSI (s) (00:54) [15:27:16:213]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\Favorites
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\AppData\Roaming\Microsoft\Windows\Network Shortcuts
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\Documents
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\AppData\Roaming\Microsoft\Windows\Printer Shortcuts
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\AppData\Roaming\Microsoft\Windows\Recent
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\AppData\Roaming\Microsoft\Windows\SendTo
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\AppData\Roaming\Microsoft\Windows\Templates
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\ProgramData
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\AppData\Local
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\Pictures
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu\Programs
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Start Menu
    MSI (s) (00:54) [15:27:16:229]: SHELL32::SHGetFolderPath returned: C:\Users\Public\Desktop
    MSI (s) (00:54) [15:27:16:244]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Administrative Tools
    MSI (s) (00:54) [15:27:16:244]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
    MSI (s) (00:54) [15:27:16:244]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
    MSI (s) (00:54) [15:27:16:244]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\AppData\Roaming\Microsoft\Windows\Start Menu
    MSI (s) (00:54) [15:27:16:244]: SHELL32::SHGetFolderPath returned: C:\Users\medsvradmin\Desktop
    MSI (s) (00:54) [15:27:16:244]: SHELL32::SHGetFolderPath returned: C:\ProgramData\Microsoft\Windows\Templates
    MSI (s) (00:54) [15:27:16:244]: SHELL32::SHGetFolderPath returned: C:\Windows\Fonts
    Property(S): PhysicalMemory = 8192
    Property(S): VirtualMemory = 7158
    Property(S): AdminUser = 1
    Property(S): MsiTrueAdminUser = 1
    Property(S): LogonUser = medsvradmin
    Property(S): UserSID = S-1-5-21-300911508-3398273753-3262312657-1000
    Property(S): UserLanguageID = 1033
    Property(S): ComputerName = JPNTKYINT01
    Property(S): SystemLanguageID = 1033
    Property(S): ScreenX = 1024
    Property(S): ScreenY = 768
    Property(S): CaptionHeight = 19
    Property(S): BorderTop = 1
    Property(S): BorderSide = 1
    Property(S): TextHeight = 16
    Property(S): TextInternalLeading = 3
    Property(S): ColorBits = 32
    Property(S): TTCSupport = 1
    Property(S): Time = 15:27:21
    Property(S): Date = 3/4/2015
    Property(S): MsiNetAssemblySupport = 4.0.30319.34209
    Property(S): MsiWin32AssemblySupport = 6.1.7601.17514
    Property(S): RedirectedDllSupport = 2
    Property(S): MsiRunningElevated = 1
    Property(S): DATABASE = C:\Windows\Installer\6847f.msi
    Property(S): OriginalDatabase = D:\RBS.msi
    Property(S): UILevel = 2
    Property(S): ACTION = INSTALL
    Property(S): ROOTDRIVE = D:\
    Property(S): CostingComplete = 1
    Property(S): OutOfDiskSpace = 0
    Property(S): OutOfNoRbDiskSpace = 0
    Property(S): PrimaryVolumeSpaceAvailable = 0
    Property(S): PrimaryVolumeSpaceRequired = 0
    Property(S): PrimaryVolumeSpaceRemaining = 0
    Property(S): DOTNETCOREPATH = 1
    Property(S): SourcedirProduct = {56D21E05-679B-40F2-94C1-DB0D7EB2E461}
    Property(S): SOURCEDIR = D:\
    MSI (s) (00:54) [15:27:21:049]: Note: 1: 1728
    MSI (s) (00:54) [15:27:21:049]: Product: SQL Server 2008 R2 Remote Blob Store -- Configuration completed successfully.
    MSI (s) (00:54) [15:27:21:049]: Windows Installer reconfigured the product. Product Name: SQL Server 2008 R2 Remote Blob Store. Product Version: 10.50.1600.1. Product Language: 1033. Manufacturer: Microsoft Corporation. Reconfiguration success or error status: 0.
    MSI (s) (00:54) [15:27:21:049]: Deferring clean up of packages/files, if any exist
    MSI (s) (00:54) [15:27:21:049]: MainEngineThread is returning 0
    MSI (s) (00:94) [15:27:21:049]: RESTART MANAGER: Session closed.
    MSI (s) (00:94) [15:27:21:049]: No System Restore sequence number for this installation.
    === Logging stopped: 3/4/2015 15:27:21 ===
    MSI (s) (00:94) [15:27:21:049]: User policy value 'DisableRollback' is 0
    MSI (s) (00:94) [15:27:21:049]: Machine policy value 'DisableRollback' is 0
    MSI (s) (00:94) [15:27:21:049]: Incrementing counter to disable shutdown. Counter after increment: 0
    MSI (s) (00:94) [15:27:21:049]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
    MSI (s) (00:94) [15:27:21:049]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
    MSI (s) (00:94) [15:27:21:049]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
    MSI (s) (00:94) [15:27:21:049]: Restoring environment variables
    MSI (s) (00:94) [15:27:21:049]: Destroying RemoteAPI object.
    MSI (s) (00:A8) [15:27:21:049]: Custom Action Manager thread ending.
    MSI (c) (E4:A4) [15:27:21:049]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
    MSI (c) (E4:A4) [15:27:21:049]: MainEngineThread is returning 0
    === Verbose logging stopped: 3/4/2015 15:27:21 ===

    Hi stecorp75,
    To troubleshoot above error, please make sure the following things.
    1. Use the RBS.msi file on this link http://www.microsoft.com/download/en/details.aspx?id=16978.
    Do not download the rbs_x64 link given in TechNet article
    https://technet.microsoft.com/en-us/library/ee748631.aspx .
    2. Ensure that you run command prompt as administrator and then run your commands for RBS installation.
    3. Follow the steps in this similar
    blog to install RBS on SharePoint 2013.
    However, if you still fail to install Remote Blob Storage, I would like to recommend you post the question in the SharePoint 2013 forum at
    https://social.technet.microsoft.com/Forums/en-US/home?forum=sharepointadmin . It is appropriate and more experts will assist you.
    There is a similar thread for your reference.
    https://social.technet.microsoft.com/Forums/en-US/23a410bd-9afe-438d-abcb-44363847802a/product-sql-remote-blob-storage-installation-failed
    Thanks,
    Lydia Zhang
    Lydia Zhang
    TechNet Community Support

  • Uploading and downloading blobs without wwv_flow_files

    Hi,
    I am currently working on oracle 10g database and application express.
    i went throu the material to upload and download images, pdf from a htmldb book.
    it was excellent material. but the book only gave example about loading and downloading images, pdf through flows_files.wwv_flow_files view.
    it seemed like we can only d/l the pdf, images and display on htmldb report only throu flows_files.wwv_flow_files view, as in the case of the script below
    select
       wff.id, htf.anchor( 'p?n=' || wff.id, wff.filename ) filename_1,
       wff.filename filename_2, ed.abstract abstract
    from
       wwv_flow_files wff, easy_document ed
    where
       wff.name = ed.name;but is there a way to load and download images, pdfs from my own tables without the involvement of flows_files schema.
    if then how can i modify the above code to get the pdf from the following table
    TableA (vessel number, cruise number, pdf blob)
    here for every (vessel, cruise) combination there is a pdf.
    how can i get this pdf displayed in my htmldb report.
    Can someone guide me please.
    Thanks,
    Philip.

    Hi,
    I tried the document link you gave and it looks like, i can directly download pdfs from my own tables without needding to upload to wwv_flow_files_objecst$ table.
    i modified the procedure in the document accroding to my requirements and it worked.
    in my page i show a grid with the parameters and the pdf documentname as download link.
    when i click on the link a popup window with the option to save or open comes up.
    but the popup window shows the filename as my procedure name through which i pass the id for the pdf document instaed of the filename which is shown as download link on the page.
    How can i change this popup window filename to the default file name shown in the download link.
    so that everytime i select the parameters, the page shows the pdf filename as link and on clicking the link the popup window should be able to show the same name shown as link.
    i think this can be set either at the procedure level or at the page level.
    and this is the following contents of the procedure
    --        SET UP HTTP HEADER
                   -- use an NVL around the mime type and
                   -- if it is a null set it to application/octect
                   -- application/octect may launch a download window from windows
                   owa_util.mime_header( nvl('PDF','application/octet'), FALSE );
                    -- set the size so the browser knows how much to download
                     htp.p('Content-length: ' || B_LEN);
                    -- the filename will be used by the browser if the users does a save as
    -- htp.p('Content-Disposition:  attachment; filename="'||'CR'||VES||CRU||'.PDF'|| '"');
                    -- close the headers           
                    owa_util.http_header_close;
                    -- download the BLOB
                    wpg_docload.download_file( BREP );and this is what i did at the page level. for that particular column i went to link option and the foll is what i gave:
    Link Text: CR#VESSEL##CRUISE#.PDF
    Link Attributes: target="_blank"
    URL: #OWNER#.PROC_DOWNLOAD_PDFS?V=#VESSEL#&C=#CRUISE#
    Here the link text is the filename that i wanted to show when saving the file.
    Can someone guid eme please.
    Thanks,
    Philip.

  • Issue with file download from BLOB type data

    i have been using this for a while, with no problems, including on hosted machines.
    the upload to the database works fine.. not the issue, and the download script also works fine, on the local WAMP machine.
    but once moved to the server it fails.. the query does not work.
    i have a feeling that it is something to do with the managed hosting i am using, but they say no, i have tried it on 2 seperate hosted machines (different providers), with no joy.
    if i run the select query on the hoisting server via phpmyadmin, the query runs ok.
    any suggestions as to what may be causing the problem on the server compared to the local WAMP machine?
    i really don't know where to start looking, or where to point the hosting company.
    This is the php code to download the blob data, works fine on local WAMP setup, browser asks if you want to save the file/open etc. as expected.
    <?php require_once('Connections/connTracker.php'); ?>
    <?php
    // if id is set then get the file with the id from database
    if(isset($_GET['docindex']))
               {$id    = $_GET['docindex'];
            $query = "SELECT document_name, document_type, document_size, document_content " .
               "FROM tracker_documents WHERE document_index = ".$id;
    *** seems to be failing here when running the query ***
    $result = mysql_query($query) or die('Error, query failed');
               list($name, $type, $size, $content) = mysql_fetch_array($result);
         header("Cache-Control: maxage=1"); //In seconds
       header("Pragma: public");
         header("Content-length: $size");
               header("Content-type: $type");
               header("Content-Disposition: attachment; filename=$name");
               echo html_entity_decode ($content);}
    exit;
    ?>

    Hi Gun,
    You are the only one responded to my issue. I have allocated some points.
    Yes. I have checked the assignment in CRM organizational model.
    I did download the org. structure from ECC 5.0
    All objects including sales offices are activated for determination and I have verified with green light
    As per your suggestion if the sales area data is not matched between the two systems, then how come the error will not reappear during the bdoc reprocess?
    What is missing during the first time bdoc process? Looks something is missing for validation module?
    Any inputs?
    Thanks,
    Raj

  • Sql server bulk insert blob filename parameter

    My problem SQL script:
    declare @filepath varchar(100)
    set @filepath = 'E:\foto\1.jpg'
    INSERT INTO [dbo].[MsQuestions] ([TestCategoryID], [LevelID], [TestTypeID], [QuestionText], [QuestionImg])
    select  1 , 1, 8, 'data gambar',BulkColumn FROM OPENROWSET(BULK   @filepath , SINGLE_BLOB)
    thanks.
    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %>
    <%
    string sConn = @"server=.; database=OnlineTesting; Integrated Security=True";
    SqlConnection objConn = new SqlConnection(sConn);
    objConn.Open();
    string sTSQL = "exec sp_filenamea";
    SqlCommand objCmd = new SqlCommand(sTSQL, objConn);
    objCmd.CommandType = CommandType.Text;
    SqlDataReader dr = objCmd.ExecuteReader();
    dr.Read();
    Response.BinaryWrite((byte[])dr["QuestionImg"]);
    objConn.Close();
    %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
    <title>Exec SP</title>
    </head>
    <body>
    <form id="form1" runat="server">
    <div>
    </div>
    </form>
    </body>
    </html>

    Perhaps this 
    http://dimantdatabasesolutions.blogspot.co.il/2009/05/how-to-uploadmodify-more-than-one-blob.html
    Best Regards,Uri Dimant SQL Server MVP,
    http://sqlblog.com/blogs/uri_dimant/
    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting:
    Large scale of database and data cleansing
    Remote DBA Services:
    Improves MS SQL Database Performance
    SQL Server Integration Services:
    Business Intelligence

  • Display in browser blob files (.doc, .pdf...) stored in the Database

    Hi,
    I want to display blob file from de DB to the browser, but when I click on the link of the document I want to open, nothing append. If I check the length of the file it is correct. I tried to write it in a directory to see what appends. I can only write txt file. The other files are corrupted.
    I did something like in the topik 532271.
    Did I do something wrong ? Do I have to write some code in the web.xml ?
    Here is my code :
    public DataOutputStream showBlob() throws SQLException, IOException{
    //it is my class not those from java.io
    File file = (File) this.getFiles().getRowData();
    FacesContext faces = FacesContext.getCurrentInstance();
    HttpServletResponse resp = (HttpServletResponse)faces.getExternalContext().getResponse();
    Blob b = file.getBlob();
    int len = 0;
    InputStream is = b.getBinaryStream();
    long length = b.length();
    byte[] x = new byte[10240];
    resp.setHeader("Content-Disposition","filename=\"" + file.getFileName() + "\"");
    resp.setContentType(file.getMimeType().getMime());
    resp.setContentLength((int)length);
    DataOutputStream o = new DataOutputStream(resp.getOutputStream());
    while ( (len = is.read(x)) != -1)
    o.write(x, 0, len);
    o.flush();
    o.close();
    is.close();
    faces.responseComplete();
    return o;
    In my xhtml page I have :
    <ice:commandLink id="downloadLink"
    action="#{managerBean.layoutManager.ediTraining.showBlob}"
    value="#{file.fileName}" target="_blank">          
    </ice:commandLink>
    Thank you for your response.
    Edited by: joce77 on Nov 12, 2007 7:39 AM

    Hi BalusC,
    I did what you explant on this page http://balusc.blogspot.com/2007/07/fileservlet.html whit "FileServlet serving from database".
    When I clik on the link I got an empty page with this html code :
    <iframe id="history-frame" src="/uniform/xmlhttp/blank" style="z-index: 10000; visibility: hidden; width: 0pt; height: 0pt; position: absolute; opacity: 0.22;" title="Icefaces Redirect" frameborder="0"></iframe>
    <script id="dynamic-code" language="javascript"></script>
    <script id="focus-code"></script>
    <script id="select-code"></script>
    <script id="click-code"></script>
    <script id="configuration-script" language="javascript">window.session='YXtNt2XZnElULb3t0j_7BQ';
    document.getElementById('configuration-script').parentNode.viewIdentifier=1;
    if (!window.views) window.views = []; window.views.push(1);
    window.configuration = {synchronous: false,redirectURI: null,connection: {context: '/uniform/',timeout: 30000,heartbeat: {interval: 20000,timeout: 3000,retries: 3}}};
    </script>
    Any idea ?
    Thanks

Maybe you are looking for

  • Getting an error package ..... does not exist

    Hi, I am trying to learn Java through Sams Teach Yourself Java 6. In the book it asked me to create a directory called c:\dev\java\org\cadenhead\ecommerce I have added the c:\dev\java into the CLASSPATH variable in Vista The program I am trying to co

  • Acrobat 6 "Save As" settings weirdness

    Hi - I'm trying to save/export a PDF as either a Word or, basically, any sort of text document. I'm getting an error message saying: "This document is not a tagged PDF. Please set your Save As preferences to generate tags for untagged documents." Whe

  • Google voice/contacts will not load in Firefox 23.0.1 The contacts page sticks at "Loading..."

    LIke the title says, attempting to load https://www.google.com/contacts results in the page load sticking at "Loading ..." This works fine in Internet Explorer and Chrome. I emptied the cache and cookies and tried Cntrl-F5 and none of those worked.

  • Release worklist through AR31

    hi gurus, When I try to release a worklist for mass retirement wo revenue I get the following message: 5W-No administrator found for the task.  This message seems to be caused by workflow however we don't have workflow activated in our system.  Do yo

  • More than one space in the file is condensed to one space

    Hi, buddies. my file format is like below: 0010XXXX2001X9001XX11 where 'X' stands for space. I use File adapter to read this kind of format txt file into XI and the content is changed to: 0010X2001X9001X11 I do not make any specification in sender CC