{"id":4728,"date":"2019-10-11T16:14:09","date_gmt":"2019-10-11T07:14:09","guid":{"rendered":"https:\/\/www.climb.co.jp\/blog_dbmoto\/?p=4728"},"modified":"2025-08-20T18:15:50","modified_gmt":"2025-08-20T09:15:50","slug":"syniti-data-replication-%e6%97%a7dbmoto%e3%81%a7%e3%81%ae%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88%e3%81%ae%e6%9b%b8%e3%81%8d%e6%96%b9%e2%91%a2%ef%bc%9a%e3%82%b0%e3%83%ad%e3%83%bc%e3%83%90","status":"publish","type":"post","link":"https:\/\/www.climb.co.jp\/blog_dbmoto\/archives\/4728","title":{"rendered":"Syniti Data Replication (\u65e7DBMoto)\u3067\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u66f8\u304d\u65b9\u2462\uff1a\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u7528\u306e\u95a2\u6570\u3068\u30a4\u30d9\u30f3\u30c8"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.climb.co.jp\/blog_dbmoto\/archives\/4674\">\u524d\u56de<\/a>\u306f\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u57fa\u672c\u7684\u306a\u8a18\u8ff0\u306e\u4ed5\u65b9\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002\u4eca\u56de\u306f\u305d\u306e\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u4f7f\u7528\u3067\u304d\u308b\u95a2\u6570\u3068\u30a4\u30d9\u30f3\u30c8\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u95a2\u6570<\/h1>\n\n\n\n<p>\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u4f7f\u7528\u3059\u308b\u30b0\u30ed\u30fc\u30d0\u30eb\u95a2\u6570\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002 \u3053\u308c\u3089\u306e\u95a2\u6570\u3092\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u30a4\u30d9\u30f3\u30c8\u304b\u3089\u4f7f\u7528\u3059\u308b\u5834\u5408\u306f\u3001IGlobalScript\u30af\u30e9\u30b9\uff08IGlobalScript.AddLog\u306a\u3069\uff09\u3092\u4f7f\u7528\u3057\u3066\u547c\u3073\u51fa\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">AddLog (String, enmLogMessageType)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u89e3\u8aac<\/h3>\n\n\n\n<p>\u6ce8\u610f\uff1a\u3053\u306e\u95a2\u6570\u306fAddLog(str As String, eType As Integer)\u306e\u4ee3\u66ff\u3067\u3059\u3002<br>DBMoto.log\u30d5\u30a1\u30a4\u30eb\u306b\u5bfe\u3057\u3066\u30ed\u30b0\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8a18\u9332\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>&#8211; str = \u30ed\u30b0\u30e1\u30c3\u30bb\u30fc\u30b8<\/p>\n\n\n\n<p>&#8211; eType = \u30a8\u30df\u30e5\u30ec\u30fc\u30bfenmLogMessageType\u3092\u6307\u5b9a\u3001Information = 0, Warning = 1, Error = 2\u3092\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">VB .NET<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>Public Shared Sub AddLog (str As String, eType As enmLogMessageType) \n\u4f8b\uff1a AddLog (\"The current record has been inserted\", 0)<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">C#<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>public static void AddLog(string str, enmLogMessageType eType) \n\u4f8b\uff1a AddLog(\"The current record has been inserted\", 0)\r<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">AddLog (String, enmLogMessageType, Record, enmRecordImage)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u89e3\u8aac<\/h3>\n\n\n\n<p>\u6ce8\u610f\uff1a\u3053\u306e\u95a2\u6570\u306fAddLog(String, Int, Record, enmRecordImage)\u306e\u4ee3\u66ff\u3067\u3059\u3002<br>\u7279\u5b9a\u306e\u30ec\u30b3\u30fc\u30c9\u60c5\u5831\u3092\u542b\u3080\u30ed\u30b0\u30e1\u30c3\u30bb\u30fc\u30b8\u3092DBMoto.log\u306b\u8a18\u9332\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>&#8211; str = \u30e1\u30c3\u30bb\u30fc\u30b8\u30ed\u30b0<\/p>\n\n\n\n<p>&#8211; eType = \u30a8\u30df\u30e5\u30ec\u30fc\u30bfenmLogMessageType\u3092\u6307\u5b9a\u3001Information = 0, Warning = 1, Error = 2\u3092\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>&#8211; record = \u30e1\u30c3\u30bb\u30fc\u30b8\u3068\u3068\u3082\u306b\u8a18\u9332\u3055\u308c\u308bIRecord\u30aa\u30d6\u30b8\u30a7\u30af\u30c8<\/p>\n\n\n\n<p>&#8211; eRecordImage = \u8a18\u9332\u3059\u308b\u30ec\u30b3\u30fc\u30c9\u60c5\u5831\u306e\u7a2e\u985e\u3092\u30a8\u30df\u30e5\u30ec\u30fc\u30bfenmRecordImage\u3067\u6307\u5b9a\u3001\u30ec\u30b3\u30fc\u30c9\u306e\u60c5\u5831\u3068\u3057\u3066Insert\u64cd\u4f5c\u306b\u95a2\u3057\u3066\u306fValues After\u304c\u3001\u305d\u308c\u4ee5\u5916\u306fValues Before\u304c\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u30d1\u30e9\u30e1\u30fc\u30bf\u5024\u3068\u3057\u3066\u306f1,2,4\u304c\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<br>1 = \u4e3b\u30ad\u30fc\u5024 &#8211; \u4e3b\u30ad\u30fc\u3068\u306a\u308b\u30ab\u30e9\u30e0\u306e\u5024\u306e\u307f<br>2 = \u30a4\u30e1\u30fc\u30b8 &#8211; \u30ec\u30b3\u30fc\u30c9\u306e\u5168\u3066\u306e\u60c5\u5831<br>4 = \u30ed\u30b0\u60c5\u5831 &#8211; \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3ID\u3001\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">VB.NET<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>Public Shared Sub AddLog (str As String, eType As enmLogMessageType,\r\nrecord As DBMotoPublic.IRecord, eRecordImage As enmRecordImage)\r\n\r\n\u4f8b\uff1a\r\nPublic Overrides Sub Record_onAfterMapping(recSource As IRecord, recTarget As IRecord,\r\nByRef AbortRecord As Boolean)\r\nDim S as String\r\nAddLog(\"The current record has been inserted\", 0, recSource, 4)\r\nEnd Sub<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">C#<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>public static void AddLog(string str, enmLogMessageType eType, DBMotoPublic.IRecord record,\u3000enmRecordImage eRecordImage)\r<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">SendMail (subject, body, to)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u89e3\u8aac<\/h3>\n\n\n\n<p id=\"tw-target-text\">[\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3]\u30c0\u30a4\u30a2\u30ed\u30b0\u306e[\u30e1\u30fc\u30eb]\u30bf\u30d6\u3067\u5b9a\u7fa9\u3055\u308c\u305fSMTP\u8a2d\u5b9a\u3092\u4f7f\u7528\u3057\u3066\u96fb\u5b50\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>&#8211; sSubject = \u30e1\u30fc\u30eb\u4ef6\u540d<\/p>\n\n\n\n<p>&#8211; sMessageBody = \u30e1\u30fc\u30eb\u672c\u6587<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">VB.NET<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>Public Shared Sub SendMail (sSubject As String, sMessageBody As String, sRcptTo As String)\r\n\r\n\u4f8b\uff1a\r\nSendMail (\"Message from Syniti DR\",\r\n          \"An error occurred that requires intervention by the system administrator.\",\r\n          \"somebody@company.com\")<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">C#<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>public static void SendMail(string sSubject, string sMessageBody, string sRcptTo)\r\n\r\n\u4f8b\uff1a\r\nSendMail(\"Message from Syniti DR\",\r\n         \"An error occurred that requires intervention by the system administrator.\",\r\n         \"somebody@company.com\")<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">SendMail (sSubject, sMessageBody, sSMTPServer, sSMTPPort, sRcptFrom, sRcptTo, bAuthentication, sUser, sPassword, bUseSSL)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u89e3\u8aac<\/h3>\n\n\n\n<p id=\"tw-target-text\">[\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3]\u30c0\u30a4\u30a2\u30ed\u30b0\u306e[\u30e1\u30fc\u30eb]\u30bf\u30d6\u3067\u5b9a\u7fa9\u3055\u308c\u305fSMTP\u8a2d\u6307\u5b9a\u3055\u308c\u305fSMTP\u30b5\u30fc\u30d0\u7b49\u3092\u4f7f\u7528\u3057\u3001\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3057\u307e\u3059\u3002\u6307\u5b9a\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u306b\u306f\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u30aa\u30d7\u30b7\u30e7\u30f3\u30c0\u30a4\u30a2\u30ed\u30b0\u3067\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u8a2d\u5b9a\u304c\u5909\u308f\u308a\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>&#8211; sMessageBody = \u30e1\u30fc\u30eb\u672c\u6587<\/p>\n\n\n\n<p>&#8211; sSMTPServer = \u30e1\u30fc\u30eb\u9001\u4fe1\u306b\u4f7f\u7528\u3059\u308bSMTP\u30b5\u30fc\u30d0<\/p>\n\n\n\n<p>&#8211; sSMTPPort = \u30e1\u30fc\u30eb\u9001\u4fe1\u306b\u4f7f\u7528\u3059\u308bSMTP\u30b5\u30fc\u30d0\u306e\u30dd\u30fc\u30c8<\/p>\n\n\n\n<p>&#8211; sRcptFrom = \u9001\u4fe1\u8005\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9<\/p>\n\n\n\n<p>&#8211; sRcptTo = \u53d7\u4fe1\u8005\u306e\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9<\/p>\n\n\n\n<p>&#8211; bAuthentication = \u8a8d\u8a3c\u60c5\u5831\u304c\u5fc5\u8981\u306a\u5834\u5408\u306fTrue\u3001\u4e0d\u8981\u306a\u5834\u5408\u306fFalse\u3092\u6307\u5b9a<\/p>\n\n\n\n<p>&#8211; sUser = bAuthentication\u304cTrue\u306e\u5834\u5408\u3001\u30e6\u30fc\u30b6ID\u3092\u6307\u5b9a<\/p>\n\n\n\n<p>&#8211; sPassword = bAuthentication\u304cTrue\u306e\u5834\u5408\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u6307\u5b9a<\/p>\n\n\n\n<p>&#8211; bUseSSL = True\u306e\u5834\u5408\u3001SSL\u3092\u4f7f\u7528\u3001\u305d\u308c\u4ee5\u5916\u306fFalse<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">VB.NET<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>Public Shared Sub SendMail (sSubject As String, sMessageBody As String,\r\nsSMTPServer As String, sRcptFrom As String, sRcptTo As String)\r\n\r\n\u4f8b\uff1a\r\nSendMail (\"Message from Syniti DR\",\r\n\"An error occurred that requires intervention by the system administrator.\",\r\n\"www.smtp.com\", \"DBMoto Notification Agent\", \"somebody@company.com\")<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">C#<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>public static void SendMail(string sSubject, string sMessageBody, string sSMTPServer,\r\nstring sRcptFrom, string sRcptTo)\r\n\r\n\u4f8b\uff1a\r\nSendMail(\"Message from Syniti DR\",\r\n\"An error occurred that requires intervention by the system administrator.\",\r\n\"www.smtp.com\", \"Syniti DR Notification Agent\", \"somebody@company.com\")<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"> GetRecordInfo(Record, enmRecordImage) <\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u89e3\u8aac<\/h3>\n\n\n\n<p id=\"tw-target-text\">\u30ec\u30b3\u30fc\u30c9\u306b\u95a2\u3059\u308b\u60c5\u5831\u3092\u542b\u3080\u6587\u5b57\u5217\u3092\u8fd4\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>&#8211; record = \u30e1\u30c3\u30bb\u30fc\u30b8\u3068\u3057\u3066\u8a18\u9332\u3055\u308c\u308bIRecord\u30aa\u30d6\u30b8\u30a7\u30af\u30c8<\/p>\n\n\n\n<p>&#8211; eRecordImage = \u8a18\u9332\u3059\u308b\u30ec\u30b3\u30fc\u30c9\u60c5\u5831\u306e\u7a2e\u985e\u3092\u30a8\u30df\u30e5\u30ec\u30fc\u30bfenmRecordImage\u3067\u6307\u5b9a\u3001\u30ec\u30b3\u30fc\u30c9\u306e\u60c5\u5831\u3068\u3057\u3066Insert\u64cd\u4f5c\u306b\u95a2\u3057\u3066\u306fValues After\u304c\u3001\u305d\u308c\u4ee5\u5916\u306fValues Before\u304c\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002\u30d1\u30e9\u30e1\u30fc\u30bf\u5024\u3068\u3057\u3066\u306f1,2,4\u304c\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<br>1 = \u4e3b\u30ad\u30fc\u5024 &#8211; \u4e3b\u30ad\u30fc\u3068\u306a\u308b\u30ab\u30e9\u30e0\u306e\u5024\u306e\u307f<br>2 = \u30a4\u30e1\u30fc\u30b8 &#8211; \u30ec\u30b3\u30fc\u30c9\u306e\u5168\u3066\u306e\u60c5\u5831<br>4 = \u30ed\u30b0\u60c5\u5831 &#8211; \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3ID\u3001\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">VB.NET<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>Public Shared Function GetRecordInfo (record As DBMotoPublic.IRecord, eRecordImage As enmRecordImage) As String\r\n\r\n\u4f8b\uff1a\r\nImports Microsoft.VisualBasic\r\nImports DBMotoPublic\r\nImports DBMotoScript\r\nImports DBRS.GlobalScript\r\nNamespace DBRS\r\nPublic Class ReplicationScript : Inherits IReplicationScript\r\nPublic Overrides Sub Record_onAfterMapping(recSource As IRecord, recTarget As IRecord,\r\nByRef AbortRecord As Boolean)\r\nDim S as String = GetRecordInfo(recSource, enmRecordImage.KeyValues)\r\nAddLog(\"The current record has been inserted: \" + S, 0)\r\nEnd Sub\r\nEnd Class\r\nEnd Namespace<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">C#<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>public static string GetRecordInfo(DBMotoPublic.IRecord record, enmRecordImage eRecordImage)\r\n\r\n\u4f8b\uff1a\r\nusing System;\r\nusing System.Data;\r\nusing DBMotoPublic;\r\nusing DBMotoScript;\r\nnamespace DBRS\r\n{\r\npublic class ReplicationScript : IReplicationScript\r\n{\r\npublic override void Record_onAfterMapping(DBMotoPublic.IRecord recSource,\r\nDBMotoPublic.IRecord recTarget, ref bool AbortRecord)\r\n{\r\nstring = GlobalScript.GetRecordInfo(recSource, enmRecordImage.KeyValues);\r\nGlobalScript.AddLog(\"The current record has been inserted: \" + s, 0);\r\n}\r\n}\r\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"> GetJSONRecordInfo <\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u89e3\u8aac<\/h3>\n\n\n\n<p>\u3053\u306e\u95a2\u6570\u306e4\u3064\u306e\u30d0\u30ea\u30a2\u30f3\u30c8\u306f\u3059\u3079\u3066\u3001\u6c4e\u7528\u306e\u69cb\u9020\u5316\u30c7\u30fc\u30bf\u307e\u305f\u306f\u975e\u69cb\u9020\u5316\u30c7\u30fc\u30bf\u3092JSON\u5217\u30bf\u30a4\u30d7\u306b\u30de\u30c3\u30d4\u30f3\u30b0\u3059\u308b\u3068\u304d\u306b\u5f79\u7acb\u3064\u30d8\u30eb\u30d1\u30fc\u95a2\u6570\u3067\u3059\u3002<\/p>\n\n\n\n<p>GetJSONRecordInfo(record,eRecordImage)<br>\u4e0b\u8a18\u306e\u3088\u3046\u306aJSON\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u6587\u5b57\u5217\u3092enmRecordImage \u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u306b\u3057\u305f\u304c\u3044\u3001IRecord \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304b\u3089\u8fd4\u3057\u307e\u3059\u3002<br><code><br>{<br>\"FIELD1\" = \"Value1\",<br>\"FIELD2\" = \"Value2\",<br>\"FIELD3\" = \"Value3\"<br>}<\/code><\/p>\n\n\n\n<p>GetJSONRecordInfo(args)<br>JSON\u5f62\u5f0f\u306e\u6587\u5b57\u5217\u3092\u8fd4\u3057\u307e\u3059\u3002\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e\u540d\u524d\u3068\u5024\u306f\u3001\u4e00\u822c\u7684\u306a\u306e\u30ea\u30b9\u30c8\u304b\u3089\u9078\u629e\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>GetJSONRecordInfo(T value)<br>\u30bf\u30a4\u30d7T\u306e\u7279\u5b9a\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306eJSON\u5f62\u5f0f\u3092\u8fd4\u3057\u307e\u3059\u3002\u3053\u306e\u95a2\u6570\u306f\u3001\u6e21\u3055\u308c\u305f\u5024\u304c\u6587\u5b57\u5217\u5024\u3067\u306f\u306a\u3044\u5834\u5408\uff08DateTime\u3001GUID\u306a\u3069\uff09\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<p>GetJSONRecordInfo T\uff08jsonString\uff09<br>\u4e0a\u8a18\u306e\u95a2\u6570\u306e\u9006\u3002JSON\u6587\u5b57\u5217\u5f62\u5f0f\u306e\u7279\u5b9a\u306e\u5024\u304c\u4e0e\u3048\u3089\u308c\u308b\u3068\u3001\u6587\u5b57\u5217\u3092\u89e3\u6790\u3057\u3001\u751f\u6210\u5143\u306e\uff08T\u578b\u306e\uff09\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u8fd4\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">VB.NET<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>Public Shared Function GetJSONRecordInfo(Of T)(ByVal jsonString As String) As T\r\n\r\nPublic Shared Function GetJSONRecordInfo(ParamArray ByVal args() As Object) As String\r\n\r\nPublic Shared Function GetJSONRecordInfo(Of T)(ByVal value As T) As String\r\n\r\nPublic Shared Function GetJSONRecordInfo(Of T)(ByVal jsonString As String) As T<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">C#<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>public static string GetJSONRecordInfo(DBMotoPublic.IRecord record, enmRecordImage eRecordImage)\r\n\r\npublic static string GetJSONRecordInfo(params object&#91;] args)\r\n\r\npublic static string GetJSONRecordInfo(T value)\r\n\r\npublic static T GetJSONRecordInfo(string jsonString)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">GetReceiversInUse<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u89e3\u8aac<\/h3>\n\n\n\n<p>Syniti DR\u306e\u63a5\u7d9a\u3067\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304cReceiversInfo\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3068\u3057\u3066\u4f7f\u7528\u3057\u3066\u3044\u308b\u30ec\u30b7\u30fc\u30d0\u30fc\u306e\u30ea\u30b9\u30c8\u3092\u8fd4\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>&#8211; ConnectionName = \u4f7f\u7528\u4e2d\u306e\u30ec\u30b7\u30fc\u30d0\u30fc\u3092\u53d6\u5f97\u3059\u308bIBM Db2 for i\u63a5\u7d9a\u306e\u540d\u524d<\/p>\n\n\n\n<p>&#8211; IsSource = ConnectionName\u304c\u30bd\u30fc\u30b9\u63a5\u7d9a\u3092\u53c2\u7167\u3059\u308b\u5834\u5408\u306fTrue\u3001\u305d\u3046\u3067\u306a\u3044\u5834\u5408\u306fFalse<\/p>\n\n\n\n<p>&#8211; OnlyActiveReplications = True\u306e\u5834\u5408\u3001\u30a2\u30af\u30c6\u30a3\u30d6\u306a\uff08\u6709\u52b9\u306a\uff09\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u4f7f\u7528\u3055\u308c\u308b\u30ec\u30b7\u30fc\u30d0\u30fc\u306e\u307f\u3092\u53d6\u5f97\u3057\u3001\u7121\u52b9\u306a\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30b9\u30ad\u30c3\u30d7\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u306e\u95a2\u6570\u306f\u3001ReceiverInfo\u578b\u306e\u5024\u3092\u8fd4\u3057\u307e\u3059\u3002\u30af\u30e9\u30b9\u306e\u5b9a\u7fa9\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002<code><br>Public Class ReceiverInfo<br>Public JournalLibrary As String<br>Public JournalName As String<br>Public ReceiverLibrary As String<br>Public ReceiverName As String<br>End Class<\/code><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">VB.NET<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>Public Shared Function GetReceiversInUse (ConnectionName As String, IsSource As Boolean, OnlyActiveReplications As Boolean) As ReceiverInfo()\r\n\r\n\u4f8b\uff1a\r\nImports Microsoft.VisualBasic\r\nImports DBMotoPublic\r\nImports DBMotoScript\r\nImports DBRS.GlobalScript\r\nImports System.Data\r\nNamespace DBRS\r\nPublic Class ReplicationScript : Inherits IReplicationScript\r\nPublic Overrides Sub LogReader_onBeforeMirroring(bSource as Boolean)\r\nDim arrReceivers As ReceiverInfo() = GetReceiversInUse (\"AS400\", True, True)\r\nDim recInfo As ReceiverInfo\r\nFor Each recInfo in arrReceivers\r\nAddLog(\"Receiver in use: \" + recInfo.JournalLibrary + \".\" + recInfo.JournalName +\r\n\"\/\" + recInfo.ReceiverLibrary + \".\" + recInfo.ReceiverName, 0)\r\nNext\r\nEnd Sub\r\nEnd Class\r\nEnd Namespace<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">C#<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>public static ReceiverInfo&#91;] GetReceiversInUse(string ConnectionName, bool IsSource, bool OnlyActiveReplications)\r\n\r\n\u4f8b\uff1a\r\nusing System;\r\nusing System.Data;\r\nusing DBMotoPublic;\r\nusing DBMotoScript;\r\nnamespace DBRS\r\n{\r\npublic class ReplicationScript : IReplicationScript\r\n{\r\npublic override void LogReader_onBeforeMirroring(bool bSource)\r\n{\r\nReceiverInfo&#91;] arrReceivers = GlobalScript.GetReceiversInUse(\"AS400\", true, true);\r\nforeach (ReceiverInfo recInfo in arrReceivers)\r\n{\r\nGlobalScript.AddLog(\"Receiver in use: \" + recInfo.JournalLibrary + \".\" + recInfo.JournalName\r\n+ \"\/\" + recInfo.ReceiverLibrary + \".\" + recInfo.ReceiverName, 0);\r\n}\r\n}\r\n}\r\n}<\/code><\/pre>\n\n\n\n<h1 class=\"wp-block-heading\">\u30a4\u30d9\u30f3\u30c8<\/h1>\n\n\n\n<p>\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u306eGlobalEvents\u30af\u30e9\u30b9\u3067\u30b0\u30ed\u30fc\u30d0\u30eb\u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002\u5404\u30b0\u30ed\u30fc\u30d0\u30eb\u30a4\u30d9\u30f3\u30c8\u306b\u306f\u3001\u95a2\u6570\u304c\u51e6\u7406\u3059\u308b\u5185\u90e8\u30a4\u30d9\u30f3\u30c8\u3092\u6307\u5b9a\u3059\u308b\u300cGlobalEventsAttribute\u300d\u3068\u3044\u3046\u5c5e\u6027\u30bb\u30af\u30b7\u30e7\u30f3\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">GlobalEventsAttribute<\/h2>\n\n\n\n<p>\u30a4\u30d9\u30f3\u30c8\u540d\u3068\u30d8\u30eb\u30d7\u6587\u5b57\u5217\u306e2\u3064\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u6301\u3064\u5c5e\u6027\u3002<a href=\"#Record_OnExecuteError\">Record_OnExecuteError<\/a>\u304a\u3088\u3073<a href=\"#Replication_OnError\">Replication_OnError<\/a>\u30a4\u30d9\u30f3\u30c8\u306e\u30a8\u30e9\u30fc\u30cf\u30f3\u30c9\u30e9\u30fc\u3092\u5b9a\u7fa9\u3059\u308b\u3068\u304d\u306f\u3001\u3053\u306e\u5c5e\u6027\u3092\u5e38\u306b\u5ba3\u8a00\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc1\uff1a\u5fc5\u9808\u3002\u30a4\u30d9\u30f3\u30c8\u540d\u3092\u542b\u3080\u6587\u5b57\u5217\u3002\u5024\u306f\u3001\u51e6\u7406\u3055\u308c\u308b\u30a4\u30d9\u30f3\u30c8\u306e\u540d\u524d\u3068\u4e00\u81f4\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc2\uff1a\u5fc5\u9808\u3002\u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9\u306e\u8aac\u660e\u307e\u305f\u306f\u30d8\u30eb\u30d7\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u542b\u3080\u6587\u5b57\u5217\u3002\u3053\u306e\u6587\u5b57\u5217\u306f\u73fe\u5728Syniti DR\u3067\u4f7f\u7528\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u304c\u5fc5\u8981\u306a\u306e\u3067\u3001\u5c11\u306a\u304f\u3068\u3082\u7a7a\u306e\u6587\u5b57\u5217 &#8220;&#8221;\u3092\u63d0\u4f9b\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"> Record_OnExecuteError <\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u89e3\u8aac<\/h3>\n\n\n\n<p>\u3053\u306e\u30a4\u30d9\u30f3\u30c8\u306f\u3001\u5358\u4e00\u30ec\u30b3\u30fc\u30c9\u306e\u5b9f\u884c\u6642\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3059\u308b\u305f\u3073\u306b\u767a\u751f\u3057\u307e\u3059\u3002Writer\u306e\u30a4\u30d9\u30f3\u30c8\u3068\u3057\u3066\u3001INSERT\u3001DELETE\u3001UPDATE\u306a\u3069\u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u64cd\u4f5c\u3067\u767a\u751f\u3057\u307e\u3059\u3002\u64cd\u4f5c\u304c\u6700\u521d\u306b\u5931\u6557\u3057\u305f\u3068\u304d\u306b\u3001bRetryExecute\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u3066\u3001\u30ec\u30b3\u30fc\u30c9\u3067\u5b9f\u884c\u64cd\u4f5c\u3092\u518d\u5b9f\u884c\u3057\u3088\u3046\u3068\u3057\u307e\u3059\u3002\u305f\u3068\u3048\u3070\u3001\u5358\u4e00\u30ec\u30b3\u30fc\u30c9\u306e\u633f\u5165\u304c\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u30a8\u30e9\u30fc\u3067\u5931\u6557\u3057\u305f\u5834\u5408\u3001bRetryExecute\u3092true\u306b\u8a2d\u5b9a\u3057\u3001iSleep\u304a\u3088\u3073iIteration\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u5024\u3092\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u6570\u30df\u30ea\u79d2\u5f8c\u306b\u64cd\u4f5c\u304c\u6210\u529f\u3059\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a4\u30d9\u30f3\u30c8Record_OnBeforeExecute&nbsp;\u306f\u3001\u3053\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u4f7f\u7528\u3057\u3066\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u4f55\u56de\u518d\u8a66\u884c\u3055\u308c\u3066\u3082\u3001\u4e00\u5ea6\u3060\u3051\u751f\u6210\u3055\u308c\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u307e\u305f\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a4\u30d9\u30f3\u30c8Record_OnAfterExecute&nbsp;\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u6210\u529f\u3057\u305f\u5834\u5408\u306b\u306e\u307f1\u56de\u751f\u6210\u3055\u308c\u3001\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u5931\u6557\u3057\u305f\u5834\u5408\u306f\u751f\u6210\u3055\u308c\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p><a href=\"https:\/\/www.climb.co.jp\/blog_dbmoto\/wp-admin\/post.php?post=4777&amp;action=edit#GlobalEventsAttribute\">GlobalEventsAttribute<\/a>\u6700\u521d\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u3001\u30a4\u30d9\u30f3\u30c8\u540d\u300cRecord_OnExecuteError\u300d\u3092\u793a\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d1\u30e9\u30e1\u30fc\u30bf<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>\u540d\u524d<\/strong><\/td><td><strong>\u30bf\u30a4\u30d7<\/strong><\/td><td><strong>\u8aac\u660e<\/strong><\/td><\/tr><tr><td>sReplOrGroupName<\/td><td>String<\/td><td>\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3002\u30a4\u30d9\u30f3\u30c8\u3092\u751f\u6210\u3057\u305f\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u307e\u305f\u306f\u30b0\u30eb\u30fc\u30d7\u540d<\/td><\/tr><tr><td>recTarget<\/td><td>IRecord<\/td><td>\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3002\u30a8\u30e9\u30fc\u304c\u751f\u6210\u3055\u308c\u305f\u5bfe\u8c61\u30ec\u30b3\u30fc\u30c9\u3092\u8868\u3059\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002IRecord\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3067\u4f7f\u7528\u53ef\u80fd\u306a\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3001\u30ec\u30b3\u30fc\u30c9\u5185\u306e\u7279\u5b9a\u306e\u60c5\u5831\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002<\/td><\/tr><tr><td>e<\/td><td>\u4f8b\u5916<\/td><td>\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3002\u3053\u306e\u30a8\u30e9\u30fc\u306eVB .NET\u4f8b\u5916\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002<\/td><\/tr><tr><td>bRecoverReplication<\/td><td>Boolean<\/td><td>\u30c7\u30d5\u30a9\u30eb\u30c8\u306fFalse\u3067\u3059\u3002True\u306b\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u56de\u5fa9\u30e2\u30fc\u30c9\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002<\/td><\/tr><tr><td>bDisableReplication<\/td><td>Boolean<\/td><td>\u30c7\u30d5\u30a9\u30eb\u30c8\u306fFalse\u3067\u3059\u3002True\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u3001RetryExecute\u306e\u5024\u306b\u95a2\u4fc2\u306a\u304f\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u30ed\u30b0\u5185\u306e\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u901a\u77e5\u3092\u7d42\u4e86\u3057\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u306b\u3057\u307e\u3059\u3002<\/td><\/tr><tr><td>bRetryExecute<\/td><td>Boolean<\/td><td>\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306fFalse\u3067\u3059\u3002Syniti DR\u30ed\u30b0\u306b\u30a8\u30e9\u30fc\u3092\u8a18\u9332\u3059\u308b\u524d\u306b\u30bf\u30fc\u30b2\u30c3\u30c8\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u3092\u518d\u8a66\u884c\u3059\u308b\u5834\u5408\u306f\u3001\u3053\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092True\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u305f\u3068\u3048\u3070\u3001\u5358\u4e00\u30ec\u30b3\u30fc\u30c9\u306e\u633f\u5165\u304c\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u30a8\u30e9\u30fc\u3067\u5931\u6557\u3057\u305f\u5834\u5408\u3001bRetryExecute\u3092True\u306b\u8a2d\u5b9a\u3057\u3001iSleep\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u5024\u3092\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u6570\u30df\u30ea\u79d2\u5f8c\u306b\u64cd\u4f5c\u304c\u6210\u529f\u3059\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4f8b\u306f\u3001\u3053\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u4f7f\u7528\u65b9\u6cd5\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a4\u30d9\u30f3\u30c8Record_OnBeforeExecute&nbsp;\u306f\u3001\u3053\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u4f7f\u7528\u3057\u3066\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u4f55\u56de\u518d\u8a66\u884c\u3055\u308c\u3066\u3082\u3001\u4e00\u5ea6\u3060\u3051\u751f\u6210\u3055\u308c\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u307e\u305f\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a4\u30d9\u30f3\u30c8Record_OnAfterExecute&nbsp;\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u6210\u529f\u3057\u305f\u5834\u5408\u306b\u306e\u307f1\u56de\u751f\u6210\u3055\u308c\u3001\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u5931\u6557\u3057\u305f\u5834\u5408\u306f\u751f\u6210\u3055\u308c\u307e\u305b\u3093\u3002<\/td><\/tr><tr><td>iSleep<\/td><td>Integer<\/td><td>bRetryExecute\u304cTrue\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u3001\u64cd\u4f5c\u3092\u518d\u8a66\u884c\u3059\u308b\u524d\u306b\u3053\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u4f7f\u7528\u3057\u3066\u9045\u5ef6\u5024\u3092\u793a\u3057\u307e\u3059\u3002\u5024\u306f\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306f0\u3067\u3059\u3002\u4f8b\u3067\u306f\u3001\u3053\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u4f7f\u7528\u65b9\u6cd5\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002<\/td><\/tr><tr><td>iIteration<\/td><td>Integer<\/td><td>\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3002bRetryExecute\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3068\u7d44\u307f\u5408\u308f\u305b\u3066\u4f7f\u7528\u200b\u200b\u3057\u307e\u3059\u3002iIteration\u306f\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u8a66\u884c\u3055\u308c\u305f\u56de\u6570\u3092\u8ffd\u8de1\u3057\u307e\u3059\u3002\u958b\u59cb\u5024\u306f0\u3067\u3059\u3002\u30bf\u30fc\u30b2\u30c3\u30c8\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u521d\u3081\u3066\u8a66\u884c\u3055\u308c\u308b\u3068\u3001\u3053\u306e\u5024\u306f1\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002\u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9\u30fc\u306f\u3001bRetryExecute\u304cfalse\u306b\u8a2d\u5b9a\u3055\u308c\u308b\u307e\u3067\u64cd\u4f5c\u306e\u518d\u8a66\u884c\u3092\u7d9a\u3051\u307e\u3059\u3002\u4f8b\u3067\u306f\u3001\u30a8\u30e9\u30fc\u6642\u306e\u7121\u9650\u30eb\u30fc\u30d7\u3092\u56de\u907f\u3059\u308b\u65b9\u6cd5\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002 &nbsp;<br>&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">VB.NET<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>\r\nPublic Shared Sub MyErrorHandler (ByVal sReplOrGroupName As String,\r\nByVal recTarget As DBMotoPublic.IRecord,\r\nByVal e As Exception,\r\nByRef bRecoverReplication As Boolean,\r\nByRef bDisableReplication As Boolean,\r\nByRef bRetryExecute As Boolean,\r\nByRef iSleep As Integer,\r\nByVal iIteration As Integer)\r\n\u203b\u95a2\u6570\u540dMyErrorHandler\u306f\u5909\u66f4\u53ef\u80fd\u3067\u3059\u3002\r\n\r\n\u4f8b\uff1a\r\n\r\nPublic Shared Sub MyErrorHandler (ByVal sReplOrGroupName As String,\r\nByVal recTarget As DBMotoPublic.IRecord,\r\nByVal e As Exception,\r\nByRef bRecoverReplication As Boolean,\r\nByRef bAbortRecord As Boolean,\r\nByRef bDisableReplication As Boolean,\r\nByRef bRetryExecute As Boolean,\r\nByRef iSleep As Integer,\r\nByVal iIteration As Integer)\r\nDim s As String\r\ns = s + \"-- Called MyErrorHandler to catch the error in replication or group '\"\r\n+ sReplOrGroupName + \"'\" + Environment.NewLine\r\ns = s + \"-- Exception: \" + e.ToString() + Environment.NewLine\r\ns = s + \"-- Iteration: \" + iIteration.ToString()\r\nbRetryExecute = Falsehttps:\/\/www.climb.co.jp\/blog_dbmoto\/wp-admin\/post-new.php?post_type=rtbs_tabs#\r\n' Disable replication if the error is a SQL Server timeout error\r\nIf e.Message.IndexOf(\"System.Data.SqlClient.SqlException: Timeout expired.\") = 0 Then\r\nbAbortRecord = True\r\nbDisableReplication = True\r\ns = s + \" - Replication disabled\"\r\nElse ' retry\r\nIf iIteration = 3 Then\r\nbRetryExecute = False\r\ns = s + \" - No Retry\"\r\nElse\r\nbRetryExecute = True\r\niSleep = 3000\r\ns = s + \" - Try Again after \" + (iSleep\/1000).ToString() + \" seconds.\"\r\nEnd If\r\nEnd If\r\nIGlobalScript.AddLog (s, 1)\r\nEnd Sub<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">C#<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;GlobalEventsAttribute(\"Record_OnExecuteError\", \"Define a general event for the event OnExecuteError\")]\r\npublic static void MyErrorHandler(string sReplOrGroupName,\r\nDBMotoPublic.IRecord recTarget,\r\nException e,\r\nref bool bRecoverReplication,\r\nref bool bDisableReplication,\r\nref bool bRetryExecute,\r\nref int iSleep,\r\nint iIteration)\r\n\r\n\u4f8b\uff1a\r\npublic class GlobalEvents : IGlobalEvents\r\n{\r\n&#91;GlobalEventsAttribute(\"Record_OnExecuteError\", \"Define a general event for the event EventName\")]\r\npublic static void MyErrorHandler(String sReplOrGroupName, DBMotoPublic.IRecord recTarget, Exception e,\r\nref bool bRecoverReplication, ref bool bAbortRecord, ref bool bDisableReplication,\r\nsref Boolean bRetryExecute, ref int iSleep, int iIteration)\r\n{\r\nString s = null;\r\ns = s + \"-- Called MyErrorHandler to catch the error in replication or group '\" + sReplOrGroupName + \"'\"\r\n+ Environment.NewLine;\r\ns = s + \"-- Exception: \" + e.ToString() + Environment.NewLine;\r\ns = s + \"-- Iteration: \" + iIteration.ToString();\r\nbRetryExecute = false;\r\n\/\/ Disable replication if the error is a SQL Server timeout error\r\nif (e.Message.IndexOf(\"System.Data.SqlClient.SqlException: Timeout expired.\") = 0) {\r\nbAbortRecord = true;\r\nbDisableReplication = true;\r\ns = s + \" - Replication disabled\";\r\n}\r\nelse { \/\/ retry\r\nif (iIteration >= 3) {\r\nbRetryExecute = false;\r\ns = s + \" - No Retry\";\r\n}\r\nelse {\r\nbRetryExecute = true;\r\niSleep = 3000;\r\ns = s + \" - Try Again after \" + (iSleep \/ 1000).ToString() + \"seconds.\";\r\n}\r\n}\r\nIGlobalScript.AddLog(s, 1);\r\n}\r\n\r<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Record_OnMappingError<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u89e3\u8aac<\/h3>\n\n\n\n<p>\u3053\u306e\u30a4\u30d9\u30f3\u30c8\u306f\u3001\u5358\u4e00\u30ec\u30b3\u30fc\u30c9\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u3067\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3059\u308b\u305f\u3073\u306b\u767a\u751f\u3057\u307e\u3059\u3002Reader\u30a4\u30d9\u30f3\u30c8\u3068\u3057\u3066\u3001INSERT\u3001DELETE\u3001UPDATE\u306a\u3069\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u64cd\u4f5c\u6642\u306b\u30bd\u30fc\u30b9\u3067\u767a\u751f\u3057\u307e\u3059\u3002 \u64cd\u4f5c\u304c\u6700\u521d\u306b\u5931\u6557\u3057\u305f\u3068\u304d\u306b\u3001bRetryExecute\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u4f7f\u7528\u3057\u3066\u3001\u30ec\u30b3\u30fc\u30c9\u306e\u30de\u30c3\u30d4\u30f3\u30b0\u64cd\u4f5c\u3092\u518d\u5b9f\u884c\u3067\u304d\u307e\u3059\u3002\u305f\u3068\u3048\u3070\u3001\u5358\u4e00\u306e\u30d5\u30a3\u30fc\u30eb\u30c9\u30de\u30c3\u30d7\u304c\u69cb\u6587\u30a8\u30e9\u30fc\u3067\u5931\u6557\u3057\u305f\u5834\u5408\u3001bRetryExecute\u3092true\u306b\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u30e6\u30fc\u30b6\u30fc\u304c\u30d5\u30a3\u30fc\u30eb\u30c9\u306e\u5024\u3092\u5909\u66f4\u3057\u3066\u64cd\u4f5c\u3092\u7e70\u308a\u8fd4\u3059\u3088\u3046\u306b\u69cb\u6210\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002 \u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a4\u30d9\u30f3\u30c8Record_OnBeforeMapping\u306f\u3001\u3053\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u4f7f\u7528\u3057\u3066\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u4f55\u56de\u518d\u8a66\u884c\u3055\u308c\u3066\u3082\u3001\u4e00\u5ea6\u3060\u3051\u751f\u6210\u3055\u308c\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002 \u307e\u305f\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a4\u30d9\u30f3\u30c8Record_OnAfterMapping\u306f\u3001\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u6210\u529f\u3057\u305f\u5834\u5408\u306b\u306e\u307f1\u56de\u751f\u6210\u3055\u308c\u3001\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u5931\u6557\u3057\u305f\u5834\u5408\u306f\u307e\u3063\u305f\u304f\u751f\u6210\u3055\u308c\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p>GlobalEventsAttribute\u306e\u4e00\u3064\u3081\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306b\u30a4\u30d9\u30f3\u30c8\u540d\u300cRecord_OnMappingError\u300d\u3092\u793a\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d1\u30e9\u30e1\u30fc\u30bf<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>\u540d\u524d<\/strong><\/td><td><strong>\u30bf\u30a4\u30d7<\/strong><\/td><td><strong>\u8aac\u660e<\/strong><\/td><\/tr><tr><td>sReplOrGroupName<\/td><td>String<\/td><td>\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3002\u30a4\u30d9\u30f3\u30c8\u3092\u751f\u6210\u3057\u305f\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u307e\u305f\u306f\u30b0\u30eb\u30fc\u30d7\u540d<\/td><\/tr><tr><td>recSource<\/td><td>IRecord<\/td><td>\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3002\u30a8\u30e9\u30fc\u304c\u751f\u6210\u3055\u308c\u305f\u5bfe\u8c61\u306e\u30bd\u30fc\u30b9\u30ec\u30b3\u30fc\u30c9\u3092\u8868\u3059\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002IRecord\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3067\u4f7f\u7528\u53ef\u80fd\u306a\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3001\u30ec\u30b3\u30fc\u30c9\u5185\u306e\u7279\u5b9a\u306e\u60c5\u5831\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059<\/td><\/tr><tr><td>recTarget<\/td><td>IRecord<\/td><td>\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3002\u30a8\u30e9\u30fc\u304c\u751f\u6210\u3055\u308c\u305f\u5bfe\u8c61\u306e\u30bf\u30fc\u30b2\u30c3\u30c8\u30ec\u30b3\u30fc\u30c9\u3092\u8868\u3059\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002IRecord\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u3067\u4f7f\u7528\u53ef\u80fd\u306a\u30e1\u30bd\u30c3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3001\u30ec\u30b3\u30fc\u30c9\u5185\u306e\u7279\u5b9a\u306e\u60c5\u5831\u306b\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002<\/td><\/tr><tr><td>e<\/td><td>Exception<\/td><td>\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3002\u3053\u306e\u30a8\u30e9\u30fc\u306eVB .NET\u4f8b\u5916\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3002<\/td><\/tr><tr><td>bAbort<\/td><td>Boolean<\/td><td>\u30c7\u30d5\u30a9\u30eb\u30c8\u306fFalase\u3067\u3059\u3002True\u306b\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u73fe\u5728\u306e\u30ec\u30b3\u30fc\u30c9\u306f\u30b9\u30ad\u30c3\u30d7\u3055\u308c\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3055\u308c\u307e\u305b\u3093\u3002 \u30ed\u30b0\u306b\u30a8\u30e9\u30fc\u306f\u51fa\u529b\u3055\u308c\u307e\u305b\u3093\u3002<\/td><\/tr><tr><td>bRecoverReplication<\/td><td>Boolean<\/td><td>\u30c7\u30d5\u30a9\u30eb\u30c8\u306fFalse\u3067\u3059\u3002True\u306b\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u30ea\u30ab\u30d0\u30ea\u30e2\u30fc\u30c9\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002<\/td><\/tr><tr><td>bDisableReplication<\/td><td>Boolean<\/td><td>\u30c7\u30d5\u30a9\u30eb\u30c8\u306fFalse\u3067\u3059\u3002True\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u3001RetryExecute\u306e\u5024\u306b\u95a2\u4fc2\u306a\u304f\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u30ed\u30b0\u5185\u306e\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u901a\u77e5\u3092\u7d42\u4e86\u3057\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u306b\u3057\u307e\u3059\u3002<\/td><\/tr><tr><td>bRetryExecute<\/td><td>Boolean<\/td><td>\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306fFalse\u3067\u3059\u3002Syniti DR\u30ed\u30b0\u306b\u30a8\u30e9\u30fc\u3092\u8a18\u9332\u3059\u308b\u524d\u306b\u30bf\u30fc\u30b2\u30c3\u30c8\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u3092\u518d\u8a66\u884c\u3059\u308b\u5834\u5408\u306f\u3001\u3053\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092True\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u305f\u3068\u3048\u3070\u3001\u5358\u4e00\u30ec\u30b3\u30fc\u30c9\u306e\u633f\u5165\u304c\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u30a8\u30e9\u30fc\u3067\u5931\u6557\u3057\u305f\u5834\u5408\u3001bRetryExecute\u3092True\u306b\u8a2d\u5b9a\u3057\u3001iSleep\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u5024\u3092\u8a2d\u5b9a\u3059\u308b\u3068\u3001\u6570\u30df\u30ea\u79d2\u5f8c\u306b\u64cd\u4f5c\u304c\u6210\u529f\u3059\u308b\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002\u4f8b\u306f\u3001\u3053\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u4f7f\u7528\u65b9\u6cd5\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a4\u30d9\u30f3\u30c8Record_OnBeforeExecute&nbsp;\u306f\u3001\u3053\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u4f7f\u7528\u3057\u3066\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u4f55\u56de\u518d\u8a66\u884c\u3055\u308c\u3066\u3082\u3001\u4e00\u5ea6\u3060\u3051\u751f\u6210\u3055\u308c\u308b\u3053\u3068\u306b\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u307e\u305f\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a4\u30d9\u30f3\u30c8Record_OnAfterExecute&nbsp;\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u6210\u529f\u3057\u305f\u5834\u5408\u306b\u306e\u307f1\u56de\u751f\u6210\u3055\u308c\u3001\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u5931\u6557\u3057\u305f\u5834\u5408\u306f\u751f\u6210\u3055\u308c\u307e\u305b\u3093\u3002<\/td><\/tr><tr><td>iSleep<\/td><td>Integer<\/td><td>bRetryExecute\u304cTrue\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u308b\u5834\u5408\u3001\u64cd\u4f5c\u3092\u518d\u8a66\u884c\u3059\u308b\u524d\u306b\u3053\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3092\u4f7f\u7528\u3057\u3066\u9045\u5ef6\u5024\u3092\u793a\u3057\u307e\u3059\u3002\u5024\u306f\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u3042\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u306f0\u3067\u3059\u3002\u4f8b\u3067\u306f\u3001\u3053\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306e\u4f7f\u7528\u65b9\u6cd5\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002<\/td><\/tr><tr><td>iIteration<\/td><td>Integer<\/td><td>\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3002bRetryExecute\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u3068\u7d44\u307f\u5408\u308f\u305b\u3066\u4f7f\u7528\u200b\u200b\u3057\u307e\u3059\u3002iIteration\u306f\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u8a66\u884c\u3055\u308c\u305f\u56de\u6570\u3092\u8ffd\u8de1\u3057\u307e\u3059\u3002\u958b\u59cb\u5024\u306f0\u3067\u3059\u3002\u30bf\u30fc\u30b2\u30c3\u30c8\u30ec\u30b3\u30fc\u30c9\u64cd\u4f5c\u304c\u521d\u3081\u3066\u8a66\u884c\u3055\u308c\u308b\u3068\u3001\u3053\u306e\u5024\u306f1\u306b\u8a2d\u5b9a\u3055\u308c\u307e\u3059\u3002\u30a4\u30d9\u30f3\u30c8\u30cf\u30f3\u30c9\u30e9\u30fc\u306f\u3001bRetryExecute\u304cfalse\u306b\u8a2d\u5b9a\u3055\u308c\u308b\u307e\u3067\u64cd\u4f5c\u306e\u518d\u8a66\u884c\u3092\u7d9a\u3051\u307e\u3059\u3002\u4f8b\u3067\u306f\u3001\u30a8\u30e9\u30fc\u6642\u306e\u7121\u9650\u30eb\u30fc\u30d7\u3092\u56de\u907f\u3059\u308b\u65b9\u6cd5\u3092\u793a\u3057\u3066\u3044\u307e\u3059\u3002 &nbsp;<br>&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">VB.NET<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>\r\nPublic Shared Sub MyErrorHandler (ByVal sReplOrGroupName As String,\r\nByVal recSource As DBMotoPublic.IRecord,\r\nByVal recTarget As DBMotoPublic.IRecord,\r\nByVal e As Exception,\r\nByRef bAbort As Boolean,\r\nByRef bRecoverReplication As Boolean,\r\nByRef bDisableReplication As Boolean,\r\nByRef bRetryExecute As Boolean,\r\nByRef iSleep As Integer,\r\nByVal iIteration As Integer\r\n\u203b\u95a2\u6570\u540dMyErrorHandler\u306f\u5909\u66f4\u53ef\u80fd\u3067\u3059\u3002\r\n\r\n\u4f8b\uff1a\r\n\r\nPublic Shared Sub MyErrorHandler (ByVal sReplOrGroupName As String,\r\nByVal recSource As DBMotoPublic.IRecord,\r\nByVal recTarget As DBMotoPublic.IRecord,\r\nByVal e As Exception,\r\nByRef bAbort As Boolean,\r\nByRef bRecoverReplication As Boolean,\r\nByRef bAbortRecord As Boolean,\r\nByRef bDisableReplication As Boolean,\r\nByRef bRetryExecute As Boolean,\r\nByRef iSleep As Integer,\r\nByVal iIteration As Integer)\r\nDim s As String\r\ns = s + \"-- Called MyErrorHandler to catch the error in replication or group '\"\r\n+ sReplOrGroupName + \"'\" + Environment.NewLine\r\ns = s + \"-- Exception: \" + e.ToString() + Environment.NewLine\r\ns = s + \"-- Iteration: \" + iIteration.ToString()\r\nbRetryExecute = False\r\n' Disable replication if the error is a syntax error\r\nIf e.Message.Contains(\"Error applying the mapping for the target field\") Then\r\nbAbortRecord = True\r\nbDisableReplication = True\r\ns = s + \" - Replication disabled\"\r\nElse ' retry\r\nIf iIteration = 3 Then\r\nbRetryExecute = False\r\ns = s + \" - No Retry\"\r\nElse\r\nbRetryExecute = True\r\niSleep = 3000\r\ns = s + \" - Try Again after \" + (iSleep\/1000).ToString() + \" seconds.\"\r\nEnd If\r\nEnd If\r\nIGlobalScript.AddLog (s, 1)\r\nEnd Sub<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">C#<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;GlobalEventsAttribute(\"Record_OnMappingError\", \"Define a general event for the event OnMappingError\")]\r\npublic static void MyErrorHandler(string sReplOrGroupName,\r\nDBMotoPublic.IRecord recSource,\r\nDBMotoPublic.IRecord recTarget,\r\nException e,\r\nref bool bAbort,\r\nref bool bRecoverReplication,\r\nref bool bDisableReplication,\r\nref bool bRetryExecute,\r\nref int iSleep,\r\nint iIteration)\r\n\r\n\u4f8b\uff1a\r\npublic class GlobalEvents : IGlobalEvents\r\n{\r\n&#91;GlobalEventsAttribute(\"Record_MappingError\", \"Define a general event for the event EventName\")]\r\npublic static void MyErrorHandler(String sReplOrGroupName, DBMotoPublic.IRecord recSource, DBMotoPublic.IRecord recTarget, Exception e,\r\nref bool bAbort, ref bool bRecoverReplication, ref bool bAbortRecord, ref bool bDisableReplication,\r\nsref Boolean bRetryExecute, ref int iSleep, int iIteration)\r\n{\r\nString s = null;\r\ns = s + \"-- Called MyErrorHandler to catch the error in replication or group '\" + sReplOrGroupName + \"'\"\r\n+ Environment.NewLine;\r\ns = s + \"-- Exception: \" + e.ToString() + Environment.NewLine;\r\ns = s + \"-- Iteration: \" + iIteration.ToString();\r\nbRetryExecute = false;\r\n\/\/ Disable replication if the error is a syntax error\r\nif (e.Message.Contains(\"Error applying the mapping for the target field\")) {\r\nbAbortRecord = true;\r\nbDisableReplication = true;\r\ns = s + \" - Replication disabled\";\r\n}\r\nelse { \/\/ retry\r\nif (iIteration >= 3) {\r\nbRetryExecute = false;\r\ns = s + \" - No Retry\";\r\n}\r\nelse {\r\nbRetryExecute = true;\r\niSleep = 3000;\r\ns = s + \" - Try Again after \" + (iSleep \/ 1000).ToString() + \"seconds.\";\r\n}\r\n}\r\nIGlobalScript.AddLog(s, 1);\r\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Replication_OnError <\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u89e3\u8aac<\/h3>\n\n\n\n<p>\u3053\u306e\u30a4\u30d9\u30f3\u30c8\u306f\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3067\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3059\u308b\u305f\u3073\u306b\u767a\u751f\u3057\u307e\u3059\u3002 \u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u64cd\u4f5c\u306e\u6700\u5f8c\u306b\u30a8\u30e9\u30fc\u307e\u305f\u306f\u8b66\u544a\u30a2\u30a4\u30b3\u30f3\u3068\u3057\u3066\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30e2\u30cb\u30bf\u30fc\u306b\u8868\u793a\u3055\u308c\u308b\u3059\u3079\u3066\u306e\u30bf\u30a4\u30d7\u306e\u30a8\u30e9\u30fc\u306f\u3001\u3053\u306e\u30a4\u30d9\u30f3\u30c8\u3092\u751f\u6210\u3057\u307e\u3059\u3002 \u3053\u306e\u30a4\u30d9\u30f3\u30c8\u306f\u3001\u30a8\u30e9\u30fc\u306e\u767a\u751f\u6642\u3067\u306f\u306a\u304f\u3001\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u306e\u7d42\u4e86\u6642\u307e\u305f\u306f\u30df\u30e9\u30fc\u30ea\u30f3\u30b0\u9593\u9694\u306e\u7d42\u4e86\u6642\u306b\u547c\u3073\u51fa\u3055\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p>GlobalEventsAttribute\u306e\u4e00\u3064\u3081\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306f\u3001\u30a4\u30d9\u30f3\u30c8\u540d\u300cReplication_OnError\u300d\u3092\u793a\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d1\u30e9\u30e1\u30fc\u30bf<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>\u540d\u524d<\/strong><\/td><td><strong>\u30bf\u30a4\u30d7<\/strong><\/td><td><strong>\u8aac\u660e<\/strong><\/td><\/tr><tr><td>sReplOrGroupName<\/td><td>String<\/td><td>\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3002\u30a4\u30d9\u30f3\u30c8\u3092\u751f\u6210\u3057\u305f\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u307e\u305f\u306f\u30b0\u30eb\u30fc\u30d7\u540d<\/td><\/tr><tr><td>sMessage<\/td><td>String<\/td><td>\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3002\u30a8\u30e9\u30fc\u30e1\u30c3\u30bb\u30fc\u30b8\/\u4f8b\u5916\u306e\u30b9\u30bf\u30c3\u30af<\/td><\/tr><tr><td>bWillDisable<\/td><td>Boolean<\/td><td>\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3002\u30a8\u30e9\u30fc\u767a\u751f\u6642\u306b\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u7121\u52b9\u306b\u3059\u308b\u5834\u5408\u306fTrue&nbsp;<\/td><\/tr><tr><td>eReplStatus<\/td><td>enmReplStatus<\/td><td>\u8aad\u307f\u53d6\u308a\u5c02\u7528\u3002\u30a8\u30df\u30e5\u30ec\u30fc\u30bf enmReplStatus\u3092\u4f7f\u7528\u3057\u3066\u30a4\u30d9\u30f3\u30c8\u304c\u547c\u3073\u51fa\u3055\u308c\u305f\u3068\u304d\u306e\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30b9\u30c6\u30fc\u30bf\u30b9\u3092\u6307\u5b9a\u3057\u307e\u3059\u3002\u30a8\u30df\u30e5\u30ec\u30fc\u30bf\u306b\u6307\u5b9a\u3067\u304d\u308b\u5024\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3059\u3002ErrorAndContinue<br>\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\uff08\u30ea\u30d5\u30ec\u30c3\u30b7\u30e5\u307e\u305f\u306f\u30df\u30e9\u30fc\u30ea\u30f3\u30b0\u9593\u9694\uff09\u3057\u305f\u5834\u5408\u306b\u3082\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u7d9a\u884c\u3055\u308c\u307e\u3059\u3002\u4f8b\u306f\u3001\u30bf\u30fc\u30b2\u30c3\u30c8\u30c6\u30fc\u30d6\u30eb\u3067\u30ec\u30b3\u30fc\u30c9\u304c\u898b\u3064\u304b\u3089\u306a\u304b\u3063\u305f\u305f\u3081\u306b\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u304c\u30bf\u30fc\u30b2\u30c3\u30c8\u30ec\u30b3\u30fc\u30c9\u306e\u524a\u9664\u306b\u5931\u6557\u3057\u305f\u5834\u5408\u3001\u300cSyniti DR\u300d\u306f\u30ed\u30b0\u306b\u30a8\u30e9\u30fc\u3092\u5831\u544a\u3057\u3001\u6b21\u306e\u30ec\u30b3\u30fc\u30c9\u306b\u9032\u307f\u307e\u3059\u3002Error<br>\u30a8\u30e9\u30fc\u304c\u751f\u6210\u3055\u308c\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5b9f\u884c\u304c\u505c\u6b62\u3057\u307e\u3059\u3002 \u6b21\u306e\u9593\u9694\u3067\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u518d\u958b\u3055\u308c\u307e\u3059\u3002 \u3053\u306e\u30bf\u30a4\u30d7\u306e\u30a8\u30e9\u30fc\u306e\u4f8b\u306f\u3001\u30bd\u30fc\u30b9\u307e\u305f\u306f\u30bf\u30fc\u30b2\u30c3\u30c8\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3078\u306e\u63a5\u7d9a\u304c\u5207\u65ad\u3055\u308c\u305f\u5834\u5408\u306b\u8a72\u5f53\u3057\u3001\u300cSyniti DR\u300d\u306f\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u7d9a\u884c\u3067\u304d\u305a\u3001\u30ea\u30ab\u30d0\u30ea\u30e2\u30fc\u30c9\u306b\u306a\u308a\u307e\u3059\u3002Success<br>\u3053\u306e\u30a4\u30d9\u30f3\u30c8\u3067\u306f\u4f7f\u7528\u3055\u308c\u307e\u305b\u3093\u3002 Replication_OnError\u304c\u547c\u3073\u51fa\u3055\u308c\u308b\u3068\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306f\u5e38\u306b\u30a8\u30e9\u30fc\u72b6\u614b\u306b\u306a\u308a\u307e\u3059\u3002<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">VB.NET<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>\r\nPublic Shared Sub MyErrorHandler (ByVal sReplOrGroupName As String, ByVal sMessage As String,\r\nByVal bWillDisable As Boolean, ByVal eReplStatus As enmReplStatus)\r\n\u203b\u95a2\u6570\u540dMyErrorHandler\u306f\u5909\u66f4\u53ef\u80fd\u3067\u3059\u3002\r\n\r\n\u4f8b\uff1a\r\n_\r\nPublic Shared Sub MyGlobalEvent (ByVal sReplicationName As String, ByVal sMessage As String,\r\nByVal bWillBeDisabled As Boolean, ByVal eReplStatus As enmReplStatus)\r\nDim s As String\r\ns = DateTime.Now.ToString() + Environment.NewLine + Environment.NewLine\r\ns = s + \"Error in replication '\" + sReplicationName + \"'\"\r\n+ Environment.NewLine + Environment.NewLine\r\ns = s + \"Replication Status: \" + eReplStatus.ToString() + Environment.NewLine\r\n+ Environment.NewLine\r\ns = s + sMessage + Environment.NewLine + Environment.NewLine\r\nIf bWillBeDisabled Then\r\ns = s + \"The replication will be disabled.\" + Environment.NewLine + Environment.NewLine\r\nEnd If\r\ns = s + \"-----------------------------------------------------------------\" + Environment.NewLine\r\ns = s + \" This is an automatic message generated by the Syniti DR script\" + Environment.NewLine\r\ns = s + \"-----------------------------------------------------------------\" + Environment.NewLine\r\nIGlobalScript.SendMail (\"Syniti DR Error\", s)\r\nEnd Sub<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">C#<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;GlobalEventsAttribute(\"Replication_OnError\", \"Define a general event for the event Replication_OnError\")]\r\npublic static void MyErrorHandler(string sReplOrGroupName, string sMessage,\r\nbool bWillDisable, enmReplStatus eReplStatus)\r\n\r\n\u4f8b\uff1a\r\n&#91;GlobalEventsAttribute(\"Replication_OnError\", \"General event for the event OnError\")]\r\npublic static void MyGlobalEvent(String sReplicationName, String sMessage, Boolean bWillBeDisabled,\r\nenmReplStatus eReplStatus)\r\n{\r\nString s = null;\r\ns = DateTime.Now.ToString() + Environment.NewLine + Environment.NewLine;\r\ns = s + \"Error in replication '\" + sReplicationName + \"'\"\r\n+ Environment.NewLine + Environment.NewLine;\r\ns = s + \"Replication Status: \" + eReplStatus.ToString() + Environment.NewLine\r\n+ Environment.NewLine;\r\ns = s + sMessage + Environment.NewLine + Environment.NewLine;\r\nif (bWillBeDisabled)\r\n{\r\ns = s + \"The replication will be disabled.\" + Environment.NewLine + Environment.NewLine;\r\n}\r\ns = s + \"---------------------------------------------\" + Environment.NewLine;\r\ns = s + \" This automatic message is generated by the Syniti DR script\" + Environment.NewLine;\r\ns = s + \"---------------------------------------------\" + Environment.NewLine;\r\nIGlobalScript.SendMail(\"Syniti DR Error\", s);\r\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">ReplicationManager_onStart<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u89e3\u8aac<\/h3>\n\n\n\n<p>\u3053\u306e\u30a4\u30d9\u30f3\u30c8\u306f\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u306e\u8d77\u52d5\u6642\u306b\u767a\u751f\u3057\u307e\u3059\u3002 Syniti DR\u30ed\u30b0\u306b\u901a\u77e5\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8ffd\u52a0\u3057\u305f\u308a\u3001\u7ba1\u7406\u8005\u306b\u96fb\u5b50\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3057\u305f\u308a\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002 \u30a4\u30d9\u30f3\u30c8\u306e\u30cf\u30f3\u30c9\u30e9\u30fc\u3092\u4f5c\u6210\u3059\u308b\u306b\u306f\u3001\u30af\u30e9\u30b9\u30d8\u30c3\u30c0\u30fc\u300cPublic Class GlobalEvents\uff1aInherits IGlobalEvents\u300d\u5185\u306b\u30ab\u30fc\u30bd\u30eb\u3092\u7f6e\u304d\u3001\u4f8b\u3092\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3\u3068\u3057\u3066\u4f7f\u7528\u3057\u3066\u30cf\u30f3\u30c9\u30e9\u30fc\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>GlobalEventsAttribute\u306e\u4e00\u3064\u76ee\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306f\u3001\u30a4\u30d9\u30f3\u30c8\u540d\u300cReplicationManager_OnStart\u300d\u3092\u793a\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u306e\u30a4\u30d9\u30f3\u30c8\u306b\u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">VB.NET<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>_\r\nPublic Shared Sub OnStart ()\r\n\r\n\u4f8b\uff1a\r\n_\r\nPublic Shared Sub OnStart ()\r\nDim s As String\r\ns = s + \"-- Message from Syniti DR - START\"\r\ns = s + \"-----------------------------------------------------------------\"\r\n+ Environment.NewLine\r\ns = s + \"- This is an automatic message generated by the Syniti DR\r\nscript -\" + Environment.NewLine\r\ns = s + \"-----------------------------------------------------------------\"\r\n+ Environment.NewLine IGlobalScript.SendMail\r\n(\"Replication Manager Message\", s)\r\nEnd Sub<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">C#<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;GlobalEventsAttribute(\"ReplicationManager_OnStart\", \"Standard event for the event OnStart\")]\r\npublic static void OnStart()\r\n\r\n\u4f8b\uff1a\r\n&#91;GlobalEventsAttribute(\"ReplicationManager_OnStart\", \"Standard event for the event OnStart\")]\r\npublic static void OnStart()\r\n{\r\nString s = null;\r\ns = s + \"-- Message from Syniti DR - START\";\r\ns = s + \"-------------------------------------------------------\" + Environment.NewLine;\r\ns = s + \"- This is an automatic message generated by the Syniti DR script -\" + Environment.NewLine;\r\ns = s + \"-------------------------------------------------------\" + Environment.NewLine;\r\nIGlobalScript.SendMail(\"Replication Manager Message\", s);\r\n}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">ReplicationManager_onStop<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u30d1\u30e9\u30e1\u30fc\u30bf\u3068\u89e3\u8aac<\/h3>\n\n\n\n<p>\u3053\u306e\u30a4\u30d9\u30f3\u30c8\u306f\u3001\u30ec\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u304c\u505c\u6b62\u3057\u305f\u3068\u304d\u306b\u767a\u751f\u3057\u307e\u3059\u3002 Syniti DR\u30ed\u30b0\u306b\u901a\u77e5\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8ffd\u52a0\u3057\u305f\u308a\u3001\u7ba1\u7406\u8005\u306b\u96fb\u5b50\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3057\u305f\u308a\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3067\u304d\u307e\u3059\u3002 \u30a4\u30d9\u30f3\u30c8\u306e\u30cf\u30f3\u30c9\u30e9\u30fc\u3092\u4f5c\u6210\u3059\u308b\u306b\u306f\u3001\u30af\u30e9\u30b9\u30d8\u30c3\u30c0\u30fc\u300cPublic Class GlobalEvents\uff1aInherits IGlobalEvents\u300d\u5185\u306b\u30ab\u30fc\u30bd\u30eb\u3092\u7f6e\u304d\u3001\u4ee5\u4e0b\u306e\u4f8b\u3092\u30ac\u30a4\u30c9\u30e9\u30a4\u30f3\u3068\u3057\u3066\u4f7f\u7528\u3057\u3066\u30cf\u30f3\u30c9\u30e9\u30fc\u3092\u5b9a\u7fa9\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p>GlobalEventsAttribute\u306e\u6700\u521d\u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u306f\u3001\u30a4\u30d9\u30f3\u30c8\u540d\u300cReplicationManager_OnStop\u300d\u3092\u793a\u3059\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p>\u30d1\u30e9\u30e1\u30fc\u30bf\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">VB.NET<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>_\r\nPublic Shared Sub OnStop ()\r\n\r\n\u4f8b\uff1a\r\n\r\nPublic Shared Sub OnStop ()\r\nDim s As String\r\ns = s + \"-- Message from Syniti DR - STOP\"\r\ns = s + \"---------------------------------------------------------\" + Environment.NewLine\r\ns = s + \"This is an automatic message generated by the Syniti DR script -\" + Environment.NewLine\r\ns = s + \"--------------------------------------------------------\"\r\n+ Environment.NewLine\r\nIGlobalScript.SendMail (\"Replication Manager Message\", s)\r\nEnd Sub<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">C#<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;GlobalEventsAttribute(\"ReplicationManager_OnStop\", \"Standard event for the event OnStop\")]\r\npublic static void OnStop()\r\n\r\n\u4f8b\uff1a\r\n&#91;GlobalEventsAttribute(\"ReplicationManager_OnStop\", \"Standard event for the event OnStop\")]\r\npublic static void OnStop()\r\n{\r\nString s = null;\r\ns = s + \"-- Message from Syniti DR - STOP\";\r\ns = s + \"--------------------------------------------------------\" + Environment.NewLine;\r\ns = s + \"- This is an automatic message generated by the Syniti DR script -\" + Environment.NewLine;\r\ns = s + \"---------------------------------------------------------\" + Environment.NewLine;\r\nIGlobalScript.SendMail(\"Replication Manager Message\", s);\r\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u524d\u56de\u306f\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u306e\u57fa\u672c\u7684\u306a\u8a18\u8ff0\u306e\u4ed5\u65b9\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002\u4eca\u56de\u306f\u305d\u306e\u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u4f7f\u7528\u3067\u304d\u308b\u95a2\u6570\u3068\u30a4\u30d9\u30f3\u30c8\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059\u3002 \u95a2\u6570 \u30b0\u30ed\u30fc\u30d0\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u3067\u4f7f\u7528\u3059\u308b\u30b0\u30ed\u30fc\u30d0\u30eb\u95a2\u6570\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002 \u3053\u308c\u3089\u306e\u95a2\u6570\u3092\u30b0 &hellip; <a href=\"https:\/\/www.climb.co.jp\/blog_dbmoto\/archives\/4728\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-4728","post","type-post","status-publish","format-standard","hentry","category-syniti"],"_links":{"self":[{"href":"https:\/\/www.climb.co.jp\/blog_dbmoto\/wp-json\/wp\/v2\/posts\/4728","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.climb.co.jp\/blog_dbmoto\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.climb.co.jp\/blog_dbmoto\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.climb.co.jp\/blog_dbmoto\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.climb.co.jp\/blog_dbmoto\/wp-json\/wp\/v2\/comments?post=4728"}],"version-history":[{"count":17,"href":"https:\/\/www.climb.co.jp\/blog_dbmoto\/wp-json\/wp\/v2\/posts\/4728\/revisions"}],"predecessor-version":[{"id":7327,"href":"https:\/\/www.climb.co.jp\/blog_dbmoto\/wp-json\/wp\/v2\/posts\/4728\/revisions\/7327"}],"wp:attachment":[{"href":"https:\/\/www.climb.co.jp\/blog_dbmoto\/wp-json\/wp\/v2\/media?parent=4728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.climb.co.jp\/blog_dbmoto\/wp-json\/wp\/v2\/categories?post=4728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.climb.co.jp\/blog_dbmoto\/wp-json\/wp\/v2\/tags?post=4728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}