AMcoder - javascript, python, java, html, php, sql

Ստեղծեք և դինամիկ ձևափոխեք .dtsx ֆայլը MS Access VBA-ի միջոցով

Ես փորձում եմ օգտագործել մեկ .dtsx ֆայլ՝ դինամիկ կատարման ֆայլի անունով MS Access VBA-ի միջոցով: Ես փորձում եմ դա անել որպես աշխատավայրում արդեն ստեղծված Access գործիքի մաս: Մինչ ես

Ես կարողացա շրջանցել .dtsx-ը նույն թղթապանակում մի քանի ֆայլերի հետ կապելու խնդիրը՝ յուրաքանչյուր ֆայլ վերանվանելով եզակի, եզակի անունի, գործարկելով .dtsx-ը և այնուհետև փոխելով անունը: Այնուամենայնիվ, թղթապանակի գրացուցակը պարտադիր չէ երաշխավորված, քանի որ շատ այլ օգտվողներ կարող են օգտագործել գործիքը:

Imports Microsoft.SqlServer.Dts.Runtime  

Module ApplicationTests  

  Sub Main()  

    ' The variable pkg points to the location of the  
    ' ExecuteProcess package sample that was installed with  
    ' the SSIS samples.  
    Dim pkg As String = _  
      "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services" & _  
      "\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx"  

    Dim app As Application = New Application()  
    Dim p As Package = app.LoadPackage(pkg, Nothing)  

    ' Now that the package is loaded, we can query on  
    ' its properties.  
    Dim n As Integer = p.Configurations.Count  
    Dim p2 As DtsProperty = p.Properties("VersionGUID")  
    Dim pl As DTSProtectionLevel = p.ProtectionLevel  

    Console.WriteLine("Number of configurations = " & n.ToString())  
    Console.WriteLine("VersionGUID = " & CType(p2.GetValue(p), String))  
    Console.WriteLine("ProtectionLevel = " & pl.ToString())  
    Console.Read()  

  End Sub  

End Module  

Սա այն կոդը է, որը ես գտա https://docs.microsoft.com/en-us/sql/integration-services/building-packages-programmatically/creating-a-package-programmatically?view=sql-server-ver15, բայց այն աշխատում է միայն VB.Net-ի համար, որը ես մուտք չունեմ: Ես հուսով եմ ընդօրինակել այս գաղափարը, բայց Access VBA-ում ստեղծել/փոփոխել SSIS փաթեթ:

28.10.2019

  • Եթե ​​նավարկեք C:\Windows\Microsoft.NET\Framework, կտեսնե՞ք csc.exe այդ թղթապանակներից մեկում (այսինքն՝ v2.0.50727, v4.0.30319): 28.10.2019
  • Նաև, ձեր վերը նշված կոդը իրականում աշխատո՞ւմ է, թե՞ ներկայացնում է այն, ինչ դուք հույս ունեք իրականացնել vbscript/vba-ի միջոցով: 28.10.2019
  • Ես չունեմ csc.exe ֆայլը: 28.10.2019
  • Ենթադրում եմ, որ կոդը աշխատում է, բայց ես չեմ կարողանում այն ​​փորձարկել իմ սարքում: Այնուամենայնիվ, դա անդրադառնում է SSIS փաթեթի փոփոխությանը, որից հուսով եմ նման բան ստեղծել: 28.10.2019

Պատասխանները:


1

Այսպիսով, իմ արագ որոնումը հաստատեց այն, ինչ ես հավատում էի, որ ճշմարիտ է. VBA/VBScript-ը չի աշխատի այն օբյեկտի մոդելի հետ, որը դուք փորձում եք ներդնել ձեր Imports Microsoft.SqlServer.Dts.Runtime-ով:

Դուք կարող եք կամուրջ գրել DTS հավաքների միջև, որպեսզի կարողանաք օգտագործել այն VBA-ում, բայց հաշվի առնելով, որ դուք փորձում եք օգտագործել Access-ի VBA-ն, քանի որ չունեք համապատասխան գործիքների հասանելիություն, լավ, կա շրջանաձև հղում:

Այլընտրանքային տարբերակներ.

SQL Server Data Tools, SSDT, անվճար է: Դա SSIS փաթեթներ հեղինակելու գործիք է: Այն ունի Script Task, որն օգտագործում է .NET և ունի հղումներ դեպի կառավարվող օբյեկտի մոդելն արդեն սահմանված, այնպես որ գրեք փաթեթ, որը փոփոխում է մեկ այլ փաթեթ:

Արտահայտություններ. SSIS փաթեթի մեջ գտնվող յուրաքանչյուր օբյեկտի մեծ մասն աջակցում է արտահայտություններին, ուստի բավականաչափ արմունկային քսուքով կարող եք գործարկել մի քանի շատ դինամիկ փաթեթներ:

Biml - Business Intelligence Markup Language-ն անվճար հավելում է Visual Studio-ի համար, որն այլ մոտեցում է ցուցաբերում փաթեթներ ստեղծելու համար:

Տվյալների մշակման ընդհանուր օրինաչափությունը տվյալների կրճատումն ու վերաբեռնումն է: SSIS-ի նեոֆիտներից շատերը ցանկանում են մեկ փաթեթ, որը վերցնում է ցանկացած աղբյուր և համապատասխանեցնում այն ​​նպատակակետին, և նրանք ցանկանում են, որ դա դինամիկ լինի. նշեք նոր աղբյուր/նպատակակետ, և կախարդանք տեղի կունենա: Շարժիչը դա չի աջակցում: Այն, ինչ թույլ է տալիս Biml-ը, սահմանել օրինաչափությունը - Կտրել աղյուսակը -> Տվյալների հոսքը հարթ ֆայլի աղբյուրով դեպի OLE DB Destination: Այժմ, երբ դուք ստացել եք ձեր օրինակը, այնուհետև օգտագործում եք մետատվյալներ (այս ֆայլերը գնում են այս թիրախային աղյուսակներին) և կառուցում N փաթեթներ: Դուք ստանում եք փաթեթների պայթյուն, բայց ձեզ չի հետաքրքրում, որովհետև դժվարը օրինաչափության սահմանումն ու մետատվյալների հավաքումն էր: Փաթեթները գրեթե մեկանգամյա օգտագործման արտեֆակտներ են, քանի որ դրանք ստանդարտ կլինեն ձեր մշակած ողջ էկոհամակարգում:

29.10.2019
Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..