亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來(lái)到思海網(wǎng)絡(luò),我們將竭誠(chéng)為您提供優(yōu)質(zhì)的服務(wù)! 誠(chéng)征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購(gòu)買(mǎi)流程 | 付款方式 | 聯(lián)系我們 [ 會(huì)員登錄/注冊(cè) ]
促銷(xiāo)推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁(yè) >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

MS SQL Server2k數(shù)據(jù)轉(zhuǎn)換服務(wù)部署

添加時(shí)間:2013-4-10 17:12:11  添加: 思海網(wǎng)絡(luò) 


  MS SQL Server做大數(shù)據(jù)量傳輸?shù)臅r(shí)候,我們大多會(huì)用到數(shù)據(jù)傳輸服務(wù)。現(xiàn)在假設(shè),在開(kāi)發(fā)環(huán)境下,我們已經(jīng)設(shè)計(jì)好了DTS包并且運(yùn)行良好,接下來(lái)我們要做的事情是遷移和部署這個(gè)DTS數(shù)據(jù)包。

  所以,我們需要把設(shè)計(jì)環(huán)境下的DTS包保存成結(jié)構(gòu)化的存儲(chǔ)文件,并且這個(gè)文件導(dǎo)入到目標(biāo)環(huán)境下的MS SQL Server中,最后添加作業(yè),讓MS SQL Server Angent在我們預(yù)期的事情執(zhí)行這個(gè)DTS包完成數(shù)據(jù)傳輸工作。其中需要重點(diǎn)解決的一個(gè)問(wèn)題是,在目標(biāo)環(huán)境中,DTS傳輸?shù)脑春湍康牡貢?huì)發(fā)生改變,需要對(duì)它進(jìn)行配置。

  2. 解決方案

  2.1. DTSRun

  DTSRun是微軟提供的命令用于執(zhí)行DTS包(包括結(jié)構(gòu)化存儲(chǔ)的、存儲(chǔ)在SQL Server或存儲(chǔ)在Meta Data Services的包)。

  dtsrun的用法:


   dtsrun
  [/?]|
  [
  [
  /[~]S server_name[\instance_name]
  { {/[~]U user_name [/[~]P password]} | /E }
  ]
  {   
  {/[~]N package_name }
  | {/[~]G package_guid_string}
  | {/[~]V package_version_guid_string}
  }
  [/[~]M package_password]
  [/[~]F filename]
  [/[~]R repository_database_name]
  [/A global_variable_name:typeid=value]
  [/L log_file_name]
  [/W NT_event_log_completion_status]
  [/Z] [/!X] [/!D] [/!Y] [/!C]
  ] 


  具體的用法參看微軟的資料。這里需要重點(diǎn)指出的是,通過(guò)“/A global_variable_name:typeid=value”選項(xiàng),我們可以給DTS包傳遞多個(gè)自定義的參數(shù),在DTS包部署的目標(biāo)環(huán)境下,我們用這個(gè)選項(xiàng)告訴DTS包服務(wù)器名稱、用戶名、密碼等數(shù)據(jù)庫(kù)連接信息。通過(guò)“/!Y”選項(xiàng)可以獲取加密后的DTSRun參數(shù)。

 

 

 

 


  2.2. 重新設(shè)計(jì)DTS包

  為了處理DTSRun傳入的自定義參數(shù),DTS包需要重新設(shè)計(jì)。我們可以增加一個(gè)ActiveX 任務(wù),在ActiveX 任務(wù)中通過(guò)VB 或者Java 對(duì)DTS編程,并且定義流程,把ActiveX 任務(wù)設(shè)置成最開(kāi)始的一個(gè)任務(wù)。由于DTS COM對(duì)象線程模式與ActiveX 任務(wù)宿主的不一致,需要將ActiveX 任務(wù)工作流屬性設(shè)置成在主包線程中執(zhí)行,否則可能會(huì)出現(xiàn)調(diào)用錯(cuò)誤。

  下面的例子是ActiveX 任務(wù)中的腳本。例子中的DTS包包含名稱為"DBConnection"的數(shù)據(jù)庫(kù)連接對(duì)象。


   '************************************************************************
  '  Visual Basic ActiveX
  '************************************************************************
  Function Main()
  Dim sDBDataSource
  Dim sDBCatalog
  Dim sDBUserID
  Dim sDBPassword
  Dim bDBUseTrusted
  Dim sOLAPServer
  Dim sOLAPCatalog
  Dim oPackage
  Dim oConnection
  Dim oTask
  Dim oCustomTask
  
  ' 獲取DTSRun傳入的自定義參數(shù)
  sDBDataSource = DTSGlobalVariables("DBDataSource").Value
  sDBCatalog = DTSGlobalVariables("DBCatalog").Value
  sDBUserID = DTSGlobalVariables("DBUserID").Value
  sDBPassword = DTSGlobalVariables("DBPassword").Value
  bDBUseTrusted = DTSGlobalVariables("DBUseTrusted").Value
  sOLAPServer = DTSGlobalVariables("OLAPServer").Value
  sOLAPCatalog = DTSGlobalVariables("OLAPCatalog").Value
  
  ' 取得當(dāng)前DTS包對(duì)象的技巧
  Set oPackage = DTSGlobalVariables.Parent
  ' 取得包中的數(shù)據(jù)連接對(duì)象
  Set oConnection = oPackage.Connections("DBConnection")

  ' 配置數(shù)據(jù)源對(duì)象的數(shù)據(jù)連接信息
  If bDBUseTrusted Then
  oConnection.UseTrustedConnection = bDBUseTrusted
  Else
  oConnection.UserID = sDBUserID
  oConnection.Password = sDBPassword
  End If
 

 

 

 

 


   oConnection.DataSource = sDBDataSource
  oConnection.Catalog = sDBCatalog
  Set oConnection = nothing

  ' 配置跟多的信息,這里是OLAP分析服務(wù)處理任務(wù)
  Set oTask = oPackage.Tasks("DTSTask_DTSOlapProcess.Certificate")
  Set oCustomTask = oTask.CustomTask
  Set oTask = nothing
  oCustomTask.Properties("TreeKey").Value = sOLAPServer & "\" _
  & sOLAPCatalog & "\CubeFolder\Certificate"
  Set oCustomTask = nothing
  
  ' 返回成功狀態(tài)
  Main = DTSTaskExecResult_Success
  End Function
 


  2.3. 保存為結(jié)構(gòu)化的存儲(chǔ)文件

  這個(gè)過(guò)程相當(dāng)?shù)暮?jiǎn)單,通過(guò)企業(yè)管理器可以完成。另存為的結(jié)構(gòu)化存儲(chǔ)文件就是我們要分發(fā)的DTS包。

  2.4. 導(dǎo)入到MS SQL Server

  我們需要通過(guò)DTS編程來(lái)實(shí)現(xiàn)這個(gè)過(guò)程。需要強(qiáng)調(diào)的是,下面這段示例需要在ApartmentState為STA線程中才可以正確的被調(diào)用。


   public void Go()
  {
  DTS.Package2Class pkg = new DTS.Package2Class();
  DTS.Application app = new DTS.ApplicationClass();

  //從SQL SERVER中刪除已經(jīng)存在的同名DTS包
  try
  {
  pkg.RemoveFromSQLServer(
  DBServer,
  DBSUserID,
  DBSPassword,
  DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default,
  "",
 

 

 

 

 


   "",
  PkgName
  );
  }
  catch
  {
  }

  //取得待分發(fā)DTS包(結(jié)構(gòu)化的存儲(chǔ)文件)的包信息,這里假定包中只包含一個(gè)版本
  DTS.SavedPackageInfos infos = pkg.GetSavedPackageInfos(UNCFile);
  DTS.SavedPackageInfo info = infos.Item(1);

  object obj1 = null;
  object obj2 = null;
  string sPkgID = info.PackageID;
  string sVerID = info.VersionID;
  string sPkgName = info.PackageName;

  //載入結(jié)構(gòu)化的存儲(chǔ)文件
  pkg.LoadFromStorageFile(
  UNCFile,
  PkgPwd,
  sPkgID,
  sVerID,
  sPkgName,
  ref obj1
  );
  //保存到SQL Server中
  pkg.SaveToSQLServerAs(
  PkgName,
  DBServer,
  DBSUserID,
  DBSPassword,
  DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default,
  PkgOwnerPwd,
  PkgOperatorPwd,
  "",
  ref obj2,
  false);
  pkg.UnInitialize();
 

 

 

 

 

 

   //檢查是否保存成功
  DTS.PackageSQLServer pkgSQLServer =
  app.GetPackageSQLServer(
  DBServer,
  DBSUserID,
  DBSPassword,
  DTS.DTSSQLServerStorageFlags.DTSSQLStgFlag_Default
  );
  
  DTS.PackageInfos infs =
  pkgSQLServer.EnumPackageInfos(PkgName, true, "");
  if (infs.EOF)
  throw new Exception("DTS包導(dǎo)入到數(shù)據(jù)庫(kù)失敗。");
  DTS.PackageInfo inf = infs.Next();     

  mPkgID = inf.PackageID;
  mVerID = inf.VersionID;
  }
 


  2.5. 添加作業(yè)

  添加作業(yè)可以用傳統(tǒng)的方式,用SQL語(yǔ)句可做到,不做詳細(xì)說(shuō)明。MS SQL Server更是提供一系列的存儲(chǔ)過(guò)程對(duì)作業(yè)進(jìn)行修改,以達(dá)到用戶預(yù)期的效果。

  3. 小結(jié)

  文章到此已經(jīng)達(dá)到我們的目標(biāo)。總體上說(shuō),2.2這步的實(shí)現(xiàn)有些困難,在實(shí)現(xiàn)過(guò)程當(dāng)中也碰到過(guò)很多困難,有一些是在新聞組中得到的解答,其它的步驟查看MSDN都可以得到比較容易的解決。
關(guān)鍵字:SQL Server、數(shù)據(jù)、企業(yè)管理器

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證: 粵B1.B2-20030321 備案號(hào):粵B2-20030321-1
網(wǎng)站公安備案編號(hào):44060602000007 交互式欄目專項(xiàng)備案編號(hào):200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎(jiǎng)  警警  手機(jī)打開(kāi)網(wǎng)站