2013-04-23 77 views
1

我們計劃將用於報表服務器的圖像移動到數據庫,因爲目前我們必須在每個報表服務器上運行安裝程序以將圖像添加到該服務器。 但是我們的問題是,安裝程序也可能從遠程位置運行(即不是將數據保存在映像中的數據庫服務器)。在這種情況下,Openrowset將無法將我們的圖像上傳到我們的本地服務器上,而數據庫服務器是遠程的。使用wix將圖像上傳到遠程位置的sql

有沒有一種方法可以使用我們的安裝程序從另一臺服務器上載圖像,該安裝程序是用wix寫的?

回答

0

我最近在使用BCP時遇到了非常類似的問題。最後,我創建了一個份額超過安裝目錄:

<CustomAction Id="SetDatafileSharePath" 
       Property="DATAFILE_SHARE" 
       Value="\\[ComputerName]\DataLocation" /> 

<util:User Id="EveryoneUser" 
      Name="Everyone" /> 

<util:FileShare Id="DataShare" 
       Name="DataLocation" 
       Description="Share of the datafiles."> 
    <util:FileSharePermission Read="yes" 
           ReadAttributes="yes" 
           ReadPermission="yes" 
           CreateChild="yes" 
           CreateFile="yes" 
           GenericAll="yes" 
           User="EveryoneUser" /> 
    </util:FileShare> 

然後跑到使用DATAFILE_SHARE屬性BCP命令。我遇到的最大問題是共享的權限,因此您可能需要更改一些FileSharePermission設置以使其適用於您。

如果沒有太多圖片且他們不太可能更改,則您擁有的另一選項是將它們插入本地sql服務器,然後使用SSMS Tools的「生成插入腳本」功能創建SQL插入圖像斑點爲base64字符串。不幸的是我不能這樣做,因爲我的數據每個月都在變化。