我这样做是为了通过SSIS和Microsoft Dynamics CRM变得更好。首先,我将给出一些背景知识:
我想要做的是在名称中使用示例获取每个帐户记录,例如 A.基准(样本),并创建尽可能多的迭代,无重复,直到Microsoft关闭我的在线试用组织。以下是这些帐户的命名约定:
我已经创建了脚本组件,以便在数据流中创建每个原始样本帐户和每个样本帐户的10次迭代 0 的。然后将该数据流放置在循环容器内。我允许它循环直到失败,稍后会更多。
是的,这太傻了。但是,它带来了一些非常重要的挑战。例如,这一挑战需要创建数百万条记录,因此我需要有效地完成这项工作。我已经:
现在,所有我认为我必须做的是防止重复返回 Dynamics CRM目的地(目前是平面文件)。该程序第一次运行正常,但第二次运行导致此。我想删除所有具有!IsNull(accountid)或具有相同名称且具有!IsNull(accountid)的记录。请参阅以下记录:
"accountnumber","name","ownerid","owneridtype","accountid","ErrorColumn","CrmErrorMessage"
"buubblee","A. Datum Corporation (sample)","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{3A32DC19-9456-E711-80E2-3863BB368DE0}","",""
"buubblee","A. Datum Corporation (sample)1","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{C3964ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"buubblee","A. Datum Corporation (sample)1","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)10","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{F3964ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"buubblee","A. Datum Corporation (sample)10","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)11","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)12","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)13","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)14","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)15","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)16","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)17","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)18","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)19","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)2","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{04974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"buubblee","A. Datum Corporation (sample)2","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)20","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)3","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{13974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"buubblee","A. Datum Corporation (sample)3","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)4","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{26974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"buubblee","A. Datum Corporation (sample)4","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)5","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{38974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"buubblee","A. Datum Corporation (sample)5","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)6","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{4C974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"buubblee","A. Datum Corporation (sample)6","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)7","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{57974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"buubblee","A. Datum Corporation (sample)7","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)8","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{62974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"buubblee","A. Datum Corporation (sample)8","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"buubblee","A. Datum Corporation (sample)9","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{72974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"buubblee","A. Datum Corporation (sample)9","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","{2E32DC19-9456-E711-80E2-3863BB368DE0}","",""
"ABC28UU7","Adventure Works (sample)1","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","{7D974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"ABC28UU7","Adventure Works (sample)1","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)10","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","{92974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"ABC28UU7","Adventure Works (sample)10","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)11","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)12","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)13","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)14","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)15","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)16","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)17","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)18","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)19","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)2","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","{9D974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"ABC28UU7","Adventure Works (sample)2","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)20","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)3","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","{A3974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"ABC28UU7","Adventure Works (sample)3","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)4","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","{AA974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"ABC28UU7","Adventure Works (sample)4","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)5","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","{B1974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"ABC28UU7","Adventure Works (sample)5","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)6","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","{B7974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"ABC28UU7","Adventure Works (sample)6","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)7","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","{BE974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"ABC28UU7","Adventure Works (sample)7","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)8","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","{C5974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"ABC28UU7","Adventure Works (sample)8","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"ABC28UU7","Adventure Works (sample)9","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","{CB974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"ABC28UU7","Adventure Works (sample)9","{31EAF056-9756-E711-80E1-3863BB35DE20}","systemuser","","",""
"","custom","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{61AD988F-7D5B-E711-80E4-ECB1D78B6B00}","",""
"","Test (sample)","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{81073B99-7D5B-E711-80E4-ECB1D78B6B00}","",""
"","Test (sample)1","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{D2974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"","Test (sample)1","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)10","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{DA974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"","Test (sample)10","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)11","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)12","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)13","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)14","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)15","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)16","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)17","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)18","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)19","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)2","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{E1974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"","Test (sample)2","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)20","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)3","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{E8974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"","Test (sample)3","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)4","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{EE974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"","Test (sample)4","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)5","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{F4974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"","Test (sample)5","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)6","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{FC974ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"","Test (sample)6","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)7","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{03984ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"","Test (sample)7","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)8","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{09984ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"","Test (sample)8","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
"","Test (sample)9","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","{11984ECD-E05C-E711-80E5-ECB1D78B6B00}","",""
"","Test (sample)9","{FD1AEC8D-025A-45B8-9206-A200680865E4}","systemuser","","",""
完成后,我将此数据流放入 For循环容器,将 EvalExpression 设置为 true ,然后等待Microsoft发送我停止了。 (实际结果可能不那么引人注目。)
我已经尝试过通过名称,accountid进行排序,反之亦然,然后再次按accountid排序并删除重复项,但排序组件并不能始终如一地删除我想要的重复项。我正在寻找替代方案。这是我试过的证据:
我将非常乐意考虑整个练习的不同方法。总而言之,我想每天创建数百万个唯一命名的示例帐户记录的迭代,而不使用Dynamics CRM重复检测。我还想用一个控制流来做这件事。另一方面,我相信我需要是一个脚本组件。
答案 0 :(得分:2)
我解决了这个问题。我添加了脚本组件并修改了Input0_ProcessInputRow方法。见下文:
#region Help: Introduction to the Script Component
/* The Script Component allows you to perform virtually any operation that can be accomplished in
* a .Net application within the context of an Integration Services data flow.
*
* Expand the other regions which have "Help" prefixes for examples of specific ways to use
* Integration Services features within this script component. */
#endregion
#region Namespaces
using System;
using System.Data;
using Microsoft.SqlServer.Dts.Pipeline.Wrapper;
using Microsoft.SqlServer.Dts.Runtime.Wrapper;
using System.Text.RegularExpressions;
#endregion
/// <summary>
/// This is the class to which to add your code. Do not change the name, attributes, or parent
/// of this class.
/// </summary>
[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]
public class ScriptMain : UserComponent
{
#region Help: Using Integration Services variables and parameters
/* To use a variable in this script, first ensure that the variable has been added to
* either the list contained in the ReadOnlyVariables property or the list contained in
* the ReadWriteVariables property of this script component, according to whether or not your
* code needs to write into the variable. To do so, save this script, close this instance of
* Visual Studio, and update the ReadOnlyVariables and ReadWriteVariables properties in the
* Script Transformation Editor window.
* To use a parameter in this script, follow the same steps. Parameters are always read-only.
*
* Example of reading from a variable or parameter:
* DateTime startTime = Variables.MyStartTime;
*
* Example of writing to a variable:
* Variables.myStringVariable = "new value";
*/
#endregion
#region Help: Using Integration Services Connnection Managers
/* Some types of connection managers can be used in this script component. See the help topic
* "Working with Connection Managers Programatically" for details.
*
* To use a connection manager in this script, first ensure that the connection manager has
* been added to either the list of connection managers on the Connection Managers page of the
* script component editor. To add the connection manager, save this script, close this instance of
* Visual Studio, and add the Connection Manager to the list.
*
* If the component needs to hold a connection open while processing rows, override the
* AcquireConnections and ReleaseConnections methods.
*
* Example of using an ADO.Net connection manager to acquire a SqlConnection:
* object rawConnection = Connections.SalesDB.AcquireConnection(transaction);
* SqlConnection salesDBConn = (SqlConnection)rawConnection;
*
* Example of using a File connection manager to acquire a file path:
* object rawConnection = Connections.Prices_zip.AcquireConnection(transaction);
* string filePath = (string)rawConnection;
*
* Example of releasing a connection manager:
* Connections.SalesDB.ReleaseConnection(rawConnection);
*/
#endregion
#region Help: Firing Integration Services Events
/* This script component can fire events.
*
* Example of firing an error event:
* ComponentMetaData.FireError(10, "Process Values", "Bad value", "", 0, out cancel);
*
* Example of firing an information event:
* ComponentMetaData.FireInformation(10, "Process Values", "Processing has started", "", 0, fireAgain);
*
* Example of firing a warning event:
* ComponentMetaData.FireWarning(10, "Process Values", "No rows were received", "", 0);
*/
#endregion
/// <summary>
/// This method is called once, before rows begin to be processed in the data flow.
///
/// You can remove this method if you don't need to do anything here.
/// </summary>
public override void PreExecute()
{
base.PreExecute();
/*
* Add your code here
*/
}
/// <summary>
/// This method is called after all the rows have passed through this component.
///
/// You can delete this method if you don't need to do anything here.
/// </summary>
public override void PostExecute()
{
base.PostExecute();
/*
* Add your code here
*/
}
/// <summary>
/// This method is called once for every row that passes through the component from Input0.
///
/// Example of reading a value from a column in the the row:
/// string zipCode = Row.ZipCode
///
/// Example of writing a value to a column in the row:
/// Row.ZipCode = zipCode
/// </summary>
/// <param name="Row">The row that is currently passing through the component</param>
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
if (Row.name.EndsWith("(sample)"))
{
//ignore
}
else if(Row.name.Contains("(sample)"))
{
string previousAccountnumber = Row.accountnumber;
string previousName = Row.name;
Guid previousOwnerid = Row.ownerid;
string previousOwnertype = Row.ownertype;
Row.NextRow();
string accountnumber = Row.accountnumber;
string name = Row.name;
Guid ownerid = Row.ownerid;
string ownertype = Row.ownertype;
if (previousName.Equals(name))
{
//ignore both
}
else
{
int number = Int32.Parse(Regex.Match(previousName, @"\d+$").Value);
int number2 = Int32.Parse(Regex.Match(name, @"\d+$").Value);
if (number + 1 == number2)
{
//add both
addRow(previousAccountnumber, previousName, previousOwnerid, previousOwnertype);
addRow(accountnumber, name, ownerid, ownertype);
}
else if (number > number2)
{
//add previous
addRow(previousAccountnumber, previousName, previousOwnerid, previousOwnertype);
}
else
{
//add current
addRow(accountnumber, name, ownerid, ownertype);
}
}
}
}
private void addRow(string accountnumber, string name, Guid ownerid, string ownertype)
{
Output0Buffer.AddRow();
Output0Buffer.accountnumber = accountnumber;
Output0Buffer.name = name;
Output0Buffer.ownerid = ownerid;
Output0Buffer.ownertype = ownertype;
}
}
我现在有我想要的输出!见下文:
systemuser,A. Datum Corporation (sample)11,{FD1AEC8D-025A-45B8-9206-A200680865E4},buubblee
systemuser,A. Datum Corporation (sample)12,{FD1AEC8D-025A-45B8-9206-A200680865E4},buubblee
systemuser,A. Datum Corporation (sample)13,{FD1AEC8D-025A-45B8-9206-A200680865E4},buubblee
systemuser,A. Datum Corporation (sample)14,{FD1AEC8D-025A-45B8-9206-A200680865E4},buubblee
systemuser,A. Datum Corporation (sample)15,{FD1AEC8D-025A-45B8-9206-A200680865E4},buubblee
systemuser,A. Datum Corporation (sample)16,{FD1AEC8D-025A-45B8-9206-A200680865E4},buubblee
systemuser,A. Datum Corporation (sample)17,{FD1AEC8D-025A-45B8-9206-A200680865E4},buubblee
systemuser,A. Datum Corporation (sample)18,{FD1AEC8D-025A-45B8-9206-A200680865E4},buubblee
systemuser,A. Datum Corporation (sample)19,{FD1AEC8D-025A-45B8-9206-A200680865E4},buubblee
systemuser,A. Datum Corporation (sample)20,{FD1AEC8D-025A-45B8-9206-A200680865E4},buubblee
systemuser,Adventure Works (sample)11,{31EAF056-9756-E711-80E1-3863BB35DE20},ABC28UU7
systemuser,Adventure Works (sample)12,{31EAF056-9756-E711-80E1-3863BB35DE20},ABC28UU7
systemuser,Adventure Works (sample)13,{31EAF056-9756-E711-80E1-3863BB35DE20},ABC28UU7
systemuser,Adventure Works (sample)14,{31EAF056-9756-E711-80E1-3863BB35DE20},ABC28UU7
systemuser,Adventure Works (sample)15,{31EAF056-9756-E711-80E1-3863BB35DE20},ABC28UU7
systemuser,Adventure Works (sample)16,{31EAF056-9756-E711-80E1-3863BB35DE20},ABC28UU7
systemuser,Adventure Works (sample)17,{31EAF056-9756-E711-80E1-3863BB35DE20},ABC28UU7
systemuser,Adventure Works (sample)18,{31EAF056-9756-E711-80E1-3863BB35DE20},ABC28UU7
systemuser,Adventure Works (sample)19,{31EAF056-9756-E711-80E1-3863BB35DE20},ABC28UU7
systemuser,Adventure Works (sample)20,{31EAF056-9756-E711-80E1-3863BB35DE20},ABC28UU7
systemuser,Test (sample)11,{FD1AEC8D-025A-45B8-9206-A200680865E4},
systemuser,Test (sample)12,{FD1AEC8D-025A-45B8-9206-A200680865E4},
systemuser,Test (sample)13,{FD1AEC8D-025A-45B8-9206-A200680865E4},
systemuser,Test (sample)14,{FD1AEC8D-025A-45B8-9206-A200680865E4},
systemuser,Test (sample)15,{FD1AEC8D-025A-45B8-9206-A200680865E4},
systemuser,Test (sample)16,{FD1AEC8D-025A-45B8-9206-A200680865E4},
systemuser,Test (sample)17,{FD1AEC8D-025A-45B8-9206-A200680865E4},
systemuser,Test (sample)18,{FD1AEC8D-025A-45B8-9206-A200680865E4},
systemuser,Test (sample)19,{FD1AEC8D-025A-45B8-9206-A200680865E4},
systemuser,Test (sample)20,{FD1AEC8D-025A-45B8-9206-A200680865E4},
我在实现目标的过程中取得了很好的成绩。谢谢所有看过我问题的人!