|
@@ -16,18 +16,18 @@ |
16 |
16 |
|
<o:Author>Jeff Lindborg</o:Author> |
17 |
17 |
|
<o:Template>AppsHelp.dot</o:Template> |
18 |
18 |
|
<o:LastAuthor>jlindborg</o:LastAuthor> |
19 |
|
- |
<o:Revision>45</o:Revision> |
20 |
|
- |
<o:TotalTime>8456</o:TotalTime> |
|
19 |
+ |
<o:Revision>46</o:Revision> |
|
20 |
+ |
<o:TotalTime>8458</o:TotalTime> |
21 |
21 |
|
<o:LastPrinted>2013-09-10T19:05:00Z</o:LastPrinted> |
22 |
22 |
|
<o:Created>2013-09-08T15:19:00Z</o:Created> |
23 |
|
- |
<o:LastSaved>2013-09-10T19:05:00Z</o:LastSaved> |
|
23 |
+ |
<o:LastSaved>2014-01-08T01:25:00Z</o:LastSaved> |
24 |
24 |
|
<o:Pages>13</o:Pages> |
25 |
|
- |
<o:Words>7611</o:Words> |
26 |
|
- |
<o:Characters>43388</o:Characters> |
|
25 |
+ |
<o:Words>7619</o:Words> |
|
26 |
+ |
<o:Characters>43433</o:Characters> |
27 |
27 |
|
<o:Company>Cisco Systems, Inc.</o:Company> |
28 |
28 |
|
<o:Lines>361</o:Lines> |
29 |
29 |
|
<o:Paragraphs>101</o:Paragraphs> |
30 |
|
- |
<o:CharactersWithSpaces>50898</o:CharactersWithSpaces> |
|
30 |
+ |
<o:CharactersWithSpaces>50951</o:CharactersWithSpaces> |
31 |
31 |
|
<o:Version>14.00</o:Version> |
32 |
32 |
|
</o:DocumentProperties> |
33 |
33 |
|
<o:OfficeDocumentSettings> |
|
@@ -1023,9 +1023,9 @@ |
1023 |
1023 |
|
mso-level-number-position:left; |
1024 |
1024 |
|
text-indent:-.25in;} |
1025 |
1025 |
|
@list l3 |
1026 |
|
- |
{mso-list-id:1393387013; |
|
1026 |
+ |
{mso-list-id:1839030946; |
1027 |
1027 |
|
mso-list-type:hybrid; |
1028 |
|
- |
mso-list-template-ids:1832027820 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} |
|
1028 |
+ |
mso-list-template-ids:1666982938 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} |
1029 |
1029 |
|
@list l3:level1 |
1030 |
1030 |
|
{mso-level-tab-stop:none; |
1031 |
1031 |
|
mso-level-number-position:left; |
|
@@ -1068,52 +1068,6 @@ |
1068 |
1068 |
|
mso-level-tab-stop:none; |
1069 |
1069 |
|
mso-level-number-position:right; |
1070 |
1070 |
|
text-indent:-9.0pt;} |
1071 |
|
- |
@list l4 |
1072 |
|
- |
{mso-list-id:1839030946; |
1073 |
|
- |
mso-list-type:hybrid; |
1074 |
|
- |
mso-list-template-ids:1666982938 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} |
1075 |
|
- |
@list l4:level1 |
1076 |
|
- |
{mso-level-tab-stop:none; |
1077 |
|
- |
mso-level-number-position:left; |
1078 |
|
- |
text-indent:-.25in;} |
1079 |
|
- |
@list l4:level2 |
1080 |
|
- |
{mso-level-number-format:alpha-lower; |
1081 |
|
- |
mso-level-tab-stop:none; |
1082 |
|
- |
mso-level-number-position:left; |
1083 |
|
- |
text-indent:-.25in;} |
1084 |
|
- |
@list l4:level3 |
1085 |
|
- |
{mso-level-number-format:roman-lower; |
1086 |
|
- |
mso-level-tab-stop:none; |
1087 |
|
- |
mso-level-number-position:right; |
1088 |
|
- |
text-indent:-9.0pt;} |
1089 |
|
- |
@list l4:level4 |
1090 |
|
- |
{mso-level-tab-stop:none; |
1091 |
|
- |
mso-level-number-position:left; |
1092 |
|
- |
text-indent:-.25in;} |
1093 |
|
- |
@list l4:level5 |
1094 |
|
- |
{mso-level-number-format:alpha-lower; |
1095 |
|
- |
mso-level-tab-stop:none; |
1096 |
|
- |
mso-level-number-position:left; |
1097 |
|
- |
text-indent:-.25in;} |
1098 |
|
- |
@list l4:level6 |
1099 |
|
- |
{mso-level-number-format:roman-lower; |
1100 |
|
- |
mso-level-tab-stop:none; |
1101 |
|
- |
mso-level-number-position:right; |
1102 |
|
- |
text-indent:-9.0pt;} |
1103 |
|
- |
@list l4:level7 |
1104 |
|
- |
{mso-level-tab-stop:none; |
1105 |
|
- |
mso-level-number-position:left; |
1106 |
|
- |
text-indent:-.25in;} |
1107 |
|
- |
@list l4:level8 |
1108 |
|
- |
{mso-level-number-format:alpha-lower; |
1109 |
|
- |
mso-level-tab-stop:none; |
1110 |
|
- |
mso-level-number-position:left; |
1111 |
|
- |
text-indent:-.25in;} |
1112 |
|
- |
@list l4:level9 |
1113 |
|
- |
{mso-level-number-format:roman-lower; |
1114 |
|
- |
mso-level-tab-stop:none; |
1115 |
|
- |
mso-level-number-position:right; |
1116 |
|
- |
text-indent:-9.0pt;} |
1117 |
1071 |
|
ol |
1118 |
1072 |
|
{margin-bottom:0in;} |
1119 |
1073 |
|
ul |
|
@@ -1166,14 +1120,10 @@ |
1166 |
1120 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1167 |
1121 |
|
text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1168 |
1122 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1169 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1123 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1124 |
+ |
_Toc366578022 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1170 |
1125 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1171 |
|
- |
text-underline:none'> PAGEREF _Toc366578022 \h </span><span style='color:windowtext; |
1172 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1173 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1174 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1175 |
|
- |
text-underline:none'>1</span><span style='color:windowtext;display:none; |
1176 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1126 |
+ |
text-underline:none'>1<!--[if gte mso 9]><xml> |
1177 |
1127 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320032000000</w:data> |
1178 |
1128 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1179 |
1129 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1188,14 +1138,10 @@ |
1188 |
1138 |
|
Notes<span style='color:windowtext;display:none;mso-hide:screen;text-decoration: |
1189 |
1139 |
|
none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1190 |
1140 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1191 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1141 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1142 |
+ |
_Toc366578023 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1192 |
1143 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1193 |
|
- |
text-underline:none'> PAGEREF _Toc366578023 \h </span><span style='color:windowtext; |
1194 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1195 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1196 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1197 |
|
- |
text-underline:none'>2</span><span style='color:windowtext;display:none; |
1198 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1144 |
+ |
text-underline:none'>2<!--[if gte mso 9]><xml> |
1199 |
1145 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320033000000</w:data> |
1200 |
1146 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1201 |
1147 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1211,14 +1157,10 @@ |
1211 |
1157 |
|
mso-hide:screen;text-decoration:none;text-underline:none'><span |
1212 |
1158 |
|
style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1213 |
1159 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1214 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1160 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1161 |
+ |
_Toc366578024 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1215 |
1162 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1216 |
|
- |
text-underline:none'> PAGEREF _Toc366578024 \h </span><span style='color:windowtext; |
1217 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1218 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1219 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1220 |
|
- |
text-underline:none'>2</span><span style='color:windowtext;display:none; |
1221 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1163 |
+ |
text-underline:none'>2<!--[if gte mso 9]><xml> |
1222 |
1164 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320034000000</w:data> |
1223 |
1165 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1224 |
1166 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1234,14 +1176,10 @@ |
1234 |
1176 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1235 |
1177 |
|
style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1236 |
1178 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1237 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1179 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1180 |
+ |
_Toc366578025 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1238 |
1181 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1239 |
|
- |
text-underline:none'> PAGEREF _Toc366578025 \h </span><span style='color:windowtext; |
1240 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1241 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1242 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1243 |
|
- |
text-underline:none'>3</span><span style='color:windowtext;display:none; |
1244 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1182 |
+ |
text-underline:none'>3<!--[if gte mso 9]><xml> |
1245 |
1183 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320035000000</w:data> |
1246 |
1184 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1247 |
1185 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1257,14 +1195,10 @@ |
1257 |
1195 |
|
none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1258 |
1196 |
|
style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span |
1259 |
1197 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1260 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1261 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1262 |
|
- |
text-underline:none'> PAGEREF _Toc366578026 \h </span><span style='color:windowtext; |
1263 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1264 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1198 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1199 |
+ |
_Toc366578026 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1265 |
1200 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1266 |
|
- |
text-underline:none'>3</span><span style='color:windowtext;display:none; |
1267 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1201 |
+ |
text-underline:none'>3<!--[if gte mso 9]><xml> |
1268 |
1202 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320036000000</w:data> |
1269 |
1203 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1270 |
1204 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1279,14 +1213,10 @@ |
1279 |
1213 |
|
the .NET ODBC SDK<span style='color:windowtext;display:none;mso-hide:screen; |
1280 |
1214 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1281 |
1215 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1282 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1283 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1284 |
|
- |
text-underline:none'> PAGEREF _Toc366578027 \h </span><span style='color:windowtext; |
1285 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1286 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1216 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1217 |
+ |
_Toc366578027 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1287 |
1218 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1288 |
|
- |
text-underline:none'>3</span><span style='color:windowtext;display:none; |
1289 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1219 |
+ |
text-underline:none'>3<!--[if gte mso 9]><xml> |
1290 |
1220 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320037000000</w:data> |
1291 |
1221 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1292 |
1222 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1301,14 +1231,10 @@ |
1301 |
1231 |
|
Started<span style='color:windowtext;display:none;mso-hide:screen;text-decoration: |
1302 |
1232 |
|
none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1303 |
1233 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1304 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1305 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1306 |
|
- |
text-underline:none'> PAGEREF _Toc366578028 \h </span><span style='color:windowtext; |
1307 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1308 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1234 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1235 |
+ |
_Toc366578028 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1309 |
1236 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1310 |
|
- |
text-underline:none'>4</span><span style='color:windowtext;display:none; |
1311 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1237 |
+ |
text-underline:none'>4<!--[if gte mso 9]><xml> |
1312 |
1238 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320038000000</w:data> |
1313 |
1239 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1314 |
1240 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1324,14 +1250,10 @@ |
1324 |
1250 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1325 |
1251 |
|
text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span |
1326 |
1252 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1327 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1253 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1254 |
+ |
_Toc366578029 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1328 |
1255 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1329 |
|
- |
text-underline:none'> PAGEREF _Toc366578029 \h </span><span style='color:windowtext; |
1330 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1331 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1332 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1333 |
|
- |
text-underline:none'>4</span><span style='color:windowtext;display:none; |
1334 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1256 |
+ |
text-underline:none'>4<!--[if gte mso 9]><xml> |
1335 |
1257 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320039000000</w:data> |
1336 |
1258 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1337 |
1259 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1348,14 +1270,10 @@ |
1348 |
1270 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1349 |
1271 |
|
style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1350 |
1272 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1351 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1352 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1353 |
|
- |
text-underline:none'> PAGEREF _Toc366578030 \h </span><span style='color:windowtext; |
1354 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1355 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1273 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1274 |
+ |
_Toc366578030 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1356 |
1275 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1357 |
|
- |
text-underline:none'>4</span><span style='color:windowtext;display:none; |
1358 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1276 |
+ |
text-underline:none'>4<!--[if gte mso 9]><xml> |
1359 |
1277 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330030000000</w:data> |
1360 |
1278 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1361 |
1279 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1371,14 +1289,10 @@ |
1371 |
1289 |
|
Shutdown Time</span><span style='color:windowtext;display:none;mso-hide:screen; |
1372 |
1290 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1373 |
1291 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1374 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1292 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1293 |
+ |
_Toc366578031 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1375 |
1294 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1376 |
|
- |
text-underline:none'> PAGEREF _Toc366578031 \h </span><span style='color:windowtext; |
1377 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1378 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1379 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1380 |
|
- |
text-underline:none'>4</span><span style='color:windowtext;display:none; |
1381 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1295 |
+ |
text-underline:none'>4<!--[if gte mso 9]><xml> |
1382 |
1296 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330031000000</w:data> |
1383 |
1297 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1384 |
1298 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1394,14 +1308,10 @@ |
1394 |
1308 |
|
Service</span><span style='color:windowtext;display:none;mso-hide:screen; |
1395 |
1309 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1396 |
1310 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1397 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1398 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1399 |
|
- |
text-underline:none'> PAGEREF _Toc366578032 \h </span><span style='color:windowtext; |
1400 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1401 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1311 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1312 |
+ |
_Toc366578032 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1402 |
1313 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1403 |
|
- |
text-underline:none'>4</span><span style='color:windowtext;display:none; |
1404 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1314 |
+ |
text-underline:none'>4<!--[if gte mso 9]><xml> |
1405 |
1315 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330032000000</w:data> |
1406 |
1316 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1407 |
1317 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1416,14 +1326,10 @@ |
1416 |
1326 |
|
into Connection<span style='color:windowtext;display:none;mso-hide:screen; |
1417 |
1327 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1418 |
1328 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1419 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1420 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1421 |
|
- |
text-underline:none'> PAGEREF _Toc366578033 \h </span><span style='color:windowtext; |
1422 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1423 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1329 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1330 |
+ |
_Toc366578033 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1424 |
1331 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1425 |
|
- |
text-underline:none'>4</span><span style='color:windowtext;display:none; |
1426 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1332 |
+ |
text-underline:none'>4<!--[if gte mso 9]><xml> |
1427 |
1333 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330033000000</w:data> |
1428 |
1334 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1429 |
1335 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1438,14 +1344,10 @@ |
1438 |
1344 |
|
DbFetchResult Class<span style='color:windowtext;display:none;mso-hide:screen; |
1439 |
1345 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1440 |
1346 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1441 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1347 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1348 |
+ |
_Toc366578034 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1442 |
1349 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1443 |
|
- |
text-underline:none'> PAGEREF _Toc366578034 \h </span><span style='color:windowtext; |
1444 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1445 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1446 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1447 |
|
- |
text-underline:none'>5</span><span style='color:windowtext;display:none; |
1448 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1350 |
+ |
text-underline:none'>5<!--[if gte mso 9]><xml> |
1449 |
1351 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330034000000</w:data> |
1450 |
1352 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1451 |
1353 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1461,14 +1363,10 @@ |
1461 |
1363 |
|
mso-hide:screen;text-decoration:none;text-underline:none'><span |
1462 |
1364 |
|
style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1463 |
1365 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1464 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1465 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1466 |
|
- |
text-underline:none'> PAGEREF _Toc366578035 \h </span><span style='color:windowtext; |
1467 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1468 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1366 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1367 |
+ |
_Toc366578035 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1469 |
1368 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1470 |
|
- |
text-underline:none'>5</span><span style='color:windowtext;display:none; |
1471 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1369 |
+ |
text-underline:none'>5<!--[if gte mso 9]><xml> |
1472 |
1370 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330035000000</w:data> |
1473 |
1371 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1474 |
1372 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1483,14 +1381,10 @@ |
1483 |
1381 |
|
Is Your Friend<span style='color:windowtext;display:none;mso-hide:screen; |
1484 |
1382 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1485 |
1383 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1486 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1384 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1385 |
+ |
_Toc366578036 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1487 |
1386 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1488 |
|
- |
text-underline:none'> PAGEREF _Toc366578036 \h </span><span style='color:windowtext; |
1489 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1490 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1491 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1492 |
|
- |
text-underline:none'>6</span><span style='color:windowtext;display:none; |
1493 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1387 |
+ |
text-underline:none'>6<!--[if gte mso 9]><xml> |
1494 |
1388 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330036000000</w:data> |
1495 |
1389 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1496 |
1390 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1505,14 +1399,10 @@ |
1505 |
1399 |
|
Data<span style='color:windowtext;display:none;mso-hide:screen;text-decoration: |
1506 |
1400 |
|
none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1507 |
1401 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1508 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1509 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1510 |
|
- |
text-underline:none'> PAGEREF _Toc366578037 \h </span><span style='color:windowtext; |
1511 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1512 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1402 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1403 |
+ |
_Toc366578037 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1513 |
1404 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1514 |
|
- |
text-underline:none'>6</span><span style='color:windowtext;display:none; |
1515 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1405 |
+ |
text-underline:none'>6<!--[if gte mso 9]><xml> |
1516 |
1406 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330037000000</w:data> |
1517 |
1407 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1518 |
1408 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1528,13 +1418,10 @@ |
1528 |
1418 |
|
screen;text-decoration:none;text-underline:none'><span style='mso-tab-count: |
1529 |
1419 |
|
1 dotted'>. </span></span><!--[if supportFields]><span style='color:windowtext; |
1530 |
1420 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1531 |
|
- |
style='mso-element:field-begin'></span></span><span style='color:windowtext; |
1532 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'> PAGEREF |
1533 |
|
- |
_Toc366578038 \h </span><span style='color:windowtext;display:none;mso-hide: |
1534 |
|
- |
screen;text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span |
|
1421 |
+ |
style='mso-element:field-begin'></span> PAGEREF _Toc366578038 \h <span |
|
1422 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
1535 |
1423 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1536 |
|
- |
text-underline:none'>6</span><span style='color:windowtext;display:none; |
1537 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1424 |
+ |
text-underline:none'>6<!--[if gte mso 9]><xml> |
1538 |
1425 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330038000000</w:data> |
1539 |
1426 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1540 |
1427 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1549,14 +1436,10 @@ |
1549 |
1436 |
|
a Data Table<span style='color:windowtext;display:none;mso-hide:screen; |
1550 |
1437 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1551 |
1438 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1552 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1439 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1440 |
+ |
_Toc366578039 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1553 |
1441 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1554 |
|
- |
text-underline:none'> PAGEREF _Toc366578039 \h </span><span style='color:windowtext; |
1555 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1556 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1557 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1558 |
|
- |
text-underline:none'>7</span><span style='color:windowtext;display:none; |
1559 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1442 |
+ |
text-underline:none'>7<!--[if gte mso 9]><xml> |
1560 |
1443 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330039000000</w:data> |
1561 |
1444 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1562 |
1445 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1571,14 +1454,10 @@ |
1571 |
1454 |
|
a Count<span style='color:windowtext;display:none;mso-hide:screen;text-decoration: |
1572 |
1455 |
|
none;text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span |
1573 |
1456 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1574 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1575 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1576 |
|
- |
text-underline:none'> PAGEREF _Toc366578040 \h </span><span style='color:windowtext; |
1577 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1578 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1457 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1458 |
+ |
_Toc366578040 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1579 |
1459 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1580 |
|
- |
text-underline:none'>8</span><span style='color:windowtext;display:none; |
1581 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1460 |
+ |
text-underline:none'>8<!--[if gte mso 9]><xml> |
1582 |
1461 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340030000000</w:data> |
1583 |
1462 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1584 |
1463 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1593,14 +1472,10 @@ |
1593 |
1472 |
|
a Single Value<span style='color:windowtext;display:none;mso-hide:screen; |
1594 |
1473 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1595 |
1474 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1596 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1475 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1476 |
+ |
_Toc366578041 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1597 |
1477 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1598 |
|
- |
text-underline:none'> PAGEREF _Toc366578041 \h </span><span style='color:windowtext; |
1599 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1600 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1601 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1602 |
|
- |
text-underline:none'>8</span><span style='color:windowtext;display:none; |
1603 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1478 |
+ |
text-underline:none'>8<!--[if gte mso 9]><xml> |
1604 |
1479 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340031000000</w:data> |
1605 |
1480 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1606 |
1481 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1615,14 +1490,10 @@ |
1615 |
1490 |
|
a Data Reader<span style='color:windowtext;display:none;mso-hide:screen; |
1616 |
1491 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span |
1617 |
1492 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1618 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1493 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1494 |
+ |
_Toc366578042 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1619 |
1495 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1620 |
|
- |
text-underline:none'> PAGEREF _Toc366578042 \h </span><span style='color:windowtext; |
1621 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1622 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1623 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1624 |
|
- |
text-underline:none'>8</span><span style='color:windowtext;display:none; |
1625 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1496 |
+ |
text-underline:none'>8<!--[if gte mso 9]><xml> |
1626 |
1497 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340032000000</w:data> |
1627 |
1498 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1628 |
1499 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1637,14 +1508,10 @@ |
1637 |
1508 |
|
Procedure Overview<span style='color:windowtext;display:none;mso-hide:screen; |
1638 |
1509 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1639 |
1510 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1640 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1511 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1512 |
+ |
_Toc366578043 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1641 |
1513 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1642 |
|
- |
text-underline:none'> PAGEREF _Toc366578043 \h </span><span style='color:windowtext; |
1643 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1644 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1645 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1646 |
|
- |
text-underline:none'>9</span><span style='color:windowtext;display:none; |
1647 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1514 |
+ |
text-underline:none'>9<!--[if gte mso 9]><xml> |
1648 |
1515 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340033000000</w:data> |
1649 |
1516 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1650 |
1517 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1660,13 +1527,10 @@ |
1660 |
1527 |
|
screen;text-decoration:none;text-underline:none'><span style='mso-tab-count: |
1661 |
1528 |
|
1 dotted'>. </span></span><!--[if supportFields]><span style='color:windowtext; |
1662 |
1529 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1663 |
|
- |
style='mso-element:field-begin'></span></span><span style='color:windowtext; |
1664 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'> PAGEREF |
1665 |
|
- |
_Toc366578044 \h </span><span style='color:windowtext;display:none;mso-hide: |
1666 |
|
- |
screen;text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span |
|
1530 |
+ |
style='mso-element:field-begin'></span> PAGEREF _Toc366578044 \h <span |
|
1531 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
1667 |
1532 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1668 |
|
- |
text-underline:none'>10</span><span style='color:windowtext;display:none; |
1669 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1533 |
+ |
text-underline:none'>10<!--[if gte mso 9]><xml> |
1670 |
1534 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340034000000</w:data> |
1671 |
1535 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1672 |
1536 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1682,14 +1546,10 @@ |
1682 |
1546 |
|
mso-hide:screen;text-decoration:none;text-underline:none'><span |
1683 |
1547 |
|
style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1684 |
1548 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1685 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1549 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1550 |
+ |
_Toc366578045 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1686 |
1551 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1687 |
|
- |
text-underline:none'> PAGEREF _Toc366578045 \h </span><span style='color:windowtext; |
1688 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1689 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1690 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1691 |
|
- |
text-underline:none'>11</span><span style='color:windowtext;display:none; |
1692 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1552 |
+ |
text-underline:none'>11<!--[if gte mso 9]><xml> |
1693 |
1553 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340035000000</w:data> |
1694 |
1554 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1695 |
1555 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1704,14 +1564,10 @@ |
1704 |
1564 |
|
Database Focus<span style='color:windowtext;display:none;mso-hide:screen; |
1705 |
1565 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1706 |
1566 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1707 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1567 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1568 |
+ |
_Toc366578046 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1708 |
1569 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1709 |
|
- |
text-underline:none'> PAGEREF _Toc366578046 \h </span><span style='color:windowtext; |
1710 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1711 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1712 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1713 |
|
- |
text-underline:none'>12</span><span style='color:windowtext;display:none; |
1714 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1570 |
+ |
text-underline:none'>12<!--[if gte mso 9]><xml> |
1715 |
1571 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340036000000</w:data> |
1716 |
1572 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1717 |
1573 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1726,14 +1582,10 @@ |
1726 |
1582 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1727 |
1583 |
|
text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1728 |
1584 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1729 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1730 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1731 |
|
- |
text-underline:none'> PAGEREF _Toc366578047 \h </span><span style='color:windowtext; |
1732 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1733 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1585 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1586 |
+ |
_Toc366578047 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1734 |
1587 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1735 |
|
- |
text-underline:none'>13</span><span style='color:windowtext;display:none; |
1736 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1588 |
+ |
text-underline:none'>13<!--[if gte mso 9]><xml> |
1737 |
1589 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340037000000</w:data> |
1738 |
1590 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1739 |
1591 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1748,14 +1600,10 @@ |
1748 |
1600 |
|
History<span style='color:windowtext;display:none;mso-hide:screen;text-decoration: |
1749 |
1601 |
|
none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1750 |
1602 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1751 |
|
- |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1752 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1753 |
|
- |
text-underline:none'> PAGEREF _Toc366578048 \h </span><span style='color:windowtext; |
1754 |
|
- |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1755 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1603 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span> PAGEREF |
|
1604 |
+ |
_Toc366578048 \h <span style='mso-element:field-separator'></span></span><![endif]--><span |
1756 |
1605 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1757 |
|
- |
text-underline:none'>13</span><span style='color:windowtext;display:none; |
1758 |
|
- |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1606 |
+ |
text-underline:none'>13<!--[if gte mso 9]><xml> |
1759 |
1607 |
|
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340038000000</w:data> |
1760 |
1608 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1761 |
1609 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
@@ -1770,13 +1618,13 @@ |
1770 |
1618 |
|
_Toc366578022'>Overvie</span></a><span style='mso-bookmark:_Toc366578022'>w</span></h1> |
1771 |
1619 |
|
|
1772 |
1620 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The .NET SDK library for the |
1773 |
|
- |
Unity Connection ODBC interfaces is a set of library code intended to make development |
1774 |
|
- |
of applications using .NET framework easier, faster and less error prone.<span |
1775 |
|
- |
style='mso-spacerun:yes'> </span>While it does require you have |
1776 |
|
- |
IBM’s Informix Client SDK installed for typical projects you do not need |
1777 |
|
- |
to include the IBM Informix class library in your project – you can do |
1778 |
|
- |
everything you need to do with the simple methods exposed off the SDK and the |
1779 |
|
- |
build in data tables and types available in .NET.<o:p></o:p></span></p> |
|
1621 |
+ |
Unity Connection ODBC interfaces is a set of library code intended to make |
|
1622 |
+ |
development of applications using .NET framework easier, faster and less error |
|
1623 |
+ |
prone.<span style='mso-spacerun:yes'> </span>While it does require you |
|
1624 |
+ |
have IBM’s Informix Client SDK installed for typical projects you do not |
|
1625 |
+ |
need to include the IBM Informix class library in your project – you can |
|
1626 |
+ |
do everything you need to do with the simple methods exposed off the SDK and |
|
1627 |
+ |
the build in data tables and types available in .NET.<o:p></o:p></span></p> |
1780 |
1628 |
|
|
1781 |
1629 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The idea is not just to |
1782 |
1630 |
|
simplify the interaction with the Informix client libraries (which is certainly |
|
@@ -1789,13 +1637,13 @@ |
1789 |
1637 |
|
provide</span> a powerful toolset for just about any application type you wish |
1790 |
1638 |
|
to create against Connection.<o:p></o:p></span></p> |
1791 |
1639 |
|
|
1792 |
|
- |
<h1><a name="_Toc366578023"></a><a name="_Toc24010850"></a><a name="_Toc6476430"></a><a |
1793 |
|
- |
name="_Toc534430893"><span style='mso-bookmark:_Toc6476430'><span |
1794 |
|
- |
style='mso-bookmark:_Toc24010850'><span style='mso-bookmark:_Toc366578023'>Requirements/Special |
|
1640 |
+ |
<h1><a name="_Toc534430893"></a><a name="_Toc6476430"></a><a name="_Toc24010850"></a><a |
|
1641 |
+ |
name="_Toc366578023"><span style='mso-bookmark:_Toc24010850'><span |
|
1642 |
+ |
style='mso-bookmark:_Toc6476430'><span style='mso-bookmark:_Toc534430893'>Requirements/Special |
1795 |
1643 |
|
Notes</span></span></span></a></h1> |
1796 |
1644 |
|
|
1797 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>The .NET ODBC SDK is written and |
1798 |
|
- |
tested against all versions of Unity Connection 7.0(2) and later.<span |
|
1645 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>The .NET ODBC SDK is written |
|
1646 |
+ |
and tested against all versions of Unity Connection 7.0(2) and later.<span |
1799 |
1647 |
|
style='mso-spacerun:yes'> </span>The ODBC interface is supported in |
1800 |
1648 |
|
7.0(2) builds and later although it appeared in 2.x versions prior to that.<o:p></o:p></span></p> |
1801 |
1649 |
|
|
|
@@ -1823,13 +1671,12 @@ |
1823 |
1671 |
|
<h1><a name="_Toc366578024">Why ODBC, Isn’t That Going Away?</a></h1> |
1824 |
1672 |
|
|
1825 |
1673 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>I get this one all the time so |
1826 |
|
- |
let me just address it here. There are a number of very good reasons for doing |
1827 |
|
- |
applications that use direct ODBC access and Unity Connection will continue to |
1828 |
|
- |
support ODBC via the proxy service into the future.<span |
1829 |
|
- |
style='mso-spacerun:yes'> </span>There are no plans to deprecate this |
1830 |
|
- |
service and in fact with the Unity Connection 10.0 the service is being made |
1831 |
|
- |
easier to setup (fewer steps) and the service now stays on forever with no shut |
1832 |
|
- |
down timer.<o:p></o:p></span></p> |
|
1674 |
+ |
let me just address it here. There are a number of very good reasons for doing applications |
|
1675 |
+ |
that use direct ODBC access and Unity Connection will continue to support ODBC |
|
1676 |
+ |
via the proxy service into the future.<span style='mso-spacerun:yes'> |
|
1677 |
+ |
</span>There are no plans to deprecate this service and in fact with the Unity |
|
1678 |
+ |
Connection 10.0 the service is being made easier to setup (fewer steps) and the |
|
1679 |
+ |
service now stays on forever with no shut down timer.<o:p></o:p></span></p> |
1833 |
1680 |
|
|
1834 |
1681 |
|
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span |
1835 |
1682 |
|
style='font-size:8.0pt'>Reason number 1</span></b><span style='font-size:8.0pt'> |
|
@@ -1843,9 +1690,9 @@ |
1843 |
1690 |
|
style='font-size:8.0pt'>Reason number 2</span></b><span style='font-size:8.0pt'> |
1844 |
1691 |
|
is that REST does not provide complete coverage for all administrative tasks |
1845 |
1692 |
|
and data.<span style='mso-spacerun:yes'> </span>With the release of 10.0 |
1846 |
|
- |
the REST APIs for Connection have taken huge strides and the API is |
1847 |
|
- |
considerably more complete and robust providing access to the vast majority of |
1848 |
|
- |
what <span class=GramE>administrators</span> need there are still “corner |
|
1693 |
+ |
the REST APIs for Connection have taken huge strides and the API is considerably |
|
1694 |
+ |
more complete and robust providing access to the vast majority of what <span |
|
1695 |
+ |
class=GramE>administrators</span> need there are still “corner |
1849 |
1696 |
|
case” items not exposed via REST.<span style='mso-spacerun:yes'> |
1850 |
1697 |
|
</span>ODBC is, by definition, always complete since the administration and |
1851 |
1698 |
|
back end features are built using the views and stored procedures exposed.<span |
|
@@ -1880,23 +1727,25 @@ |
1880 |
1727 |
|
request/response will always provide overhead – the data needs to be |
1881 |
1728 |
|
converted into a text representation of JSON or XML, sent across, the receiving |
1882 |
1729 |
|
party parses it out and converts it back into a dictionary or class instance (a |
1883 |
|
- |
process known as “serialization” and “deserialization”).<span |
1884 |
|
- |
style='mso-spacerun:yes'> </span>This is always going to be slower than |
1885 |
|
- |
sending a well formed SQL query via ODBC and getting a dataset or record set |
1886 |
|
- |
back (I’ll explain the difference between these later).<o:p></o:p></span></p> |
|
1730 |
+ |
process known as “serialization” and |
|
1731 |
+ |
“deserialization”).<span style='mso-spacerun:yes'> </span>This |
|
1732 |
+ |
is always going to be slower than sending a well formed SQL query via ODBC and |
|
1733 |
+ |
getting a dataset or record set back (I’ll explain the difference between |
|
1734 |
+ |
these later).<o:p></o:p></span></p> |
1887 |
1735 |
|
|
1888 |
1736 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The other thing that tends to |
1889 |
|
- |
throttle REST based API is the REST philosophy of working with “nouns” |
1890 |
|
- |
and “verbs” – I’m not going to get into a dissertation |
1891 |
|
- |
on REST best practices here but the general idea is applications work with |
1892 |
|
- |
“nouns” (an object such as a user or a call handler in our case) |
1893 |
|
- |
using verbs (add, delete, modify, get).<span style='mso-spacerun:yes'> |
1894 |
|
- |
</span>The idea is you don’t need to know much about the overall object |
1895 |
|
- |
model up front, you can “drill down” to what you need at the object |
1896 |
|
- |
level and part of the results will have URIs to where you need to go to get |
1897 |
|
- |
related information.<span style='mso-spacerun:yes'> </span>For instance |
1898 |
|
- |
when you fetch a user as part of the result set you get a URI to go get the |
1899 |
|
- |
greetings or transfer rules associated with that user.<o:p></o:p></span></p> |
|
1737 |
+ |
throttle REST based API is the REST philosophy of working with |
|
1738 |
+ |
“nouns” and “verbs” – I’m not going to get |
|
1739 |
+ |
into a dissertation on REST best practices here but the general idea is |
|
1740 |
+ |
applications work with “nouns” (an object such as a user or a call |
|
1741 |
+ |
handler in our case) using verbs (add, delete, modify, get).<span |
|
1742 |
+ |
style='mso-spacerun:yes'> </span>The idea is you don’t need to know |
|
1743 |
+ |
much about the overall object model up front, you can “drill down” |
|
1744 |
+ |
to what you need at the object level and part of the results will have URIs to |
|
1745 |
+ |
where you need to go to get related information.<span |
|
1746 |
+ |
style='mso-spacerun:yes'> </span>For instance when you fetch a user as part |
|
1747 |
+ |
of the result set you get a URI to go get the greetings or transfer rules |
|
1748 |
+ |
associated with that user.<o:p></o:p></span></p> |
1900 |
1749 |
|
|
1901 |
1750 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>That last bit is part of the |
1902 |
1751 |
|
rub.<span style='mso-spacerun:yes'> </span>Say for instance I want to |
|
@@ -1905,8 +1754,8 @@ |
1905 |
1754 |
|
find the <span class=SpellE>ObjectIds</span> (unique identifiers) for all the |
1906 |
1755 |
|
transfer rules I want to update in one SQL query and then simply loop through |
1907 |
1756 |
|
them calling a stored procedure to update the transfer rules behavior one at a |
1908 |
|
- |
time (yes, you could just do a direct table update but then you’d be an |
1909 |
|
- |
evil hack who needs to step away from the keyboard immediately).<span |
|
1757 |
+ |
time (yes, you could just do a direct table update but then you’d be an evil |
|
1758 |
+ |
hack who needs to step away from the keyboard immediately).<span |
1910 |
1759 |
|
style='mso-spacerun:yes'> </span>In REST you need to get the list of |
1911 |
1760 |
|
users associated with the COS which sends a lot of data by itself, then you |
1912 |
1761 |
|
need to fetch the URI for the standard transfer rule for each user one at a |
|
@@ -2014,10 +1863,9 @@ |
2014 |
1863 |
|
Project” and a file explorer window will appear. Navigate to where you |
2015 |
1864 |
|
downloaded the library code and select the “<span class=SpellE>CiscoUnityConnectionServerOdbc.csproj</span>” |
2016 |
1865 |
|
file. This will pull the library into your solution and have it build when you |
2017 |
|
- |
rebuild your project. This will result in the |
2018 |
|
- |
“CiscoUnityConnectionServerOdbc.dll” ending up in the target BIN |
2019 |
|
- |
output (debug or release) for your project. This is the only file you need to |
2020 |
|
- |
include in your setup for the library. <o:p></o:p></span></p> |
|
1866 |
+ |
rebuild your project. This will result in the “CiscoUnityConnectionServerOdbc.dll” |
|
1867 |
+ |
ending up in the target BIN output (debug or release) for your project. This is |
|
1868 |
+ |
the only file you need to include in your setup for the library. <o:p></o:p></span></p> |
2021 |
1869 |
|
|
2022 |
1870 |
|
<p class=Default><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
2023 |
1871 |
|
|
|
@@ -2045,9 +1893,9 @@ |
2045 |
1893 |
|
“task based” approach to demonstrating the use of the library |
2046 |
1894 |
|
– each major object class (user, call handler, name lookup handler, |
2047 |
1895 |
|
schedule etc…) has it’s section and small code snippets are shown |
2048 |
|
- |
demonstrating the items you’d typically want to do with those objects.<span |
2049 |
|
- |
style='mso-spacerun:yes'> </span>This does not attempt to document the |
2050 |
|
- |
entire data schema or get into too much theory.<span |
|
1896 |
+ |
demonstrating the items you’d typically want to do with those |
|
1897 |
+ |
objects.<span style='mso-spacerun:yes'> </span>This does not attempt to |
|
1898 |
+ |
document the entire data schema or get into too much theory.<span |
2051 |
1899 |
|
style='mso-spacerun:yes'> </span>As a developer I know I learn faster |
2052 |
1900 |
|
with a simple “show me” approach so that’s what I endeavor to |
2053 |
1901 |
|
do here.<o:p></o:p></span></p> |
|
@@ -2057,19 +1905,19 @@ |
2057 |
1905 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>To attach to Unity Connection |
2058 |
1906 |
|
from you Windows client you need to make sure you have:<o:p></o:p></span></p> |
2059 |
1907 |
|
|
2060 |
|
- |
<p class=MsoListParagraphCxSpFirst style='text-indent:-.25in;mso-list:l4 level1 lfo2'><![if !supportLists]><span |
|
1908 |
+ |
<p class=MsoListParagraphCxSpFirst style='text-indent:-.25in;mso-list:l3 level1 lfo2'><![if !supportLists]><span |
2061 |
1909 |
|
style='font-size:8.0pt;mso-fareast-font-family:Arial;mso-bidi-font-family:Arial'><span |
2062 |
1910 |
|
style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'> |
2063 |
1911 |
|
</span></span></span><![endif]><span style='font-size:8.0pt'>The proxy service |
2064 |
1912 |
|
turned on<o:p></o:p></span></p> |
2065 |
1913 |
|
|
2066 |
|
- |
<p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l4 level1 lfo2'><![if !supportLists]><span |
|
1914 |
+ |
<p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l3 level1 lfo2'><![if !supportLists]><span |
2067 |
1915 |
|
style='font-size:8.0pt;mso-fareast-font-family:Arial;mso-bidi-font-family:Arial'><span |
2068 |
1916 |
|
style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'> |
2069 |
1917 |
|
</span></span></span><![endif]><span style='font-size:8.0pt'>An account |
2070 |
1918 |
|
configured with the remote administrator role<o:p></o:p></span></p> |
2071 |
1919 |
|
|
2072 |
|
- |
<p class=MsoListParagraphCxSpLast style='text-indent:-.25in;mso-list:l4 level1 lfo2'><![if !supportLists]><span |
|
1920 |
+ |
<p class=MsoListParagraphCxSpLast style='text-indent:-.25in;mso-list:l3 level1 lfo2'><![if !supportLists]><span |
2073 |
1921 |
|
style='font-size:8.0pt;mso-fareast-font-family:Arial;mso-bidi-font-family:Arial'><span |
2074 |
1922 |
|
style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'> |
2075 |
1923 |
|
</span></span></span><![endif]><span style='font-size:8.0pt'>Port 20532 needs |
|
@@ -2347,8 +2195,8 @@ |
2347 |
2195 |
|
with the “<span class=SpellE>TestApplication</span>” string.<span |
2348 |
2196 |
|
style='mso-spacerun:yes'> </span>This creates a new database functions |
2349 |
2197 |
|
interface in the main server class for us and the name there shows up in all |
2350 |
|
- |
Unity Connection audit logs for calls you make via ODBC – be sure to put a |
2351 |
|
- |
meaningful name in here for diagnostic purposes.<o:p></o:p></span></p> |
|
2198 |
+ |
Unity Connection audit logs for calls you make via ODBC – be sure to put |
|
2199 |
+ |
a meaningful name in here for diagnostic purposes.<o:p></o:p></span></p> |
2352 |
2200 |
|
|
2353 |
2201 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Why pass in a constructor like |
2354 |
2202 |
|
that?<span style='mso-spacerun:yes'> </span>Currently it may not look |
|
@@ -2403,13 +2251,14 @@ |
2403 |
2251 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The “<span class=SpellE><span |
2404 |
2252 |
|
class=GramE>ToString</span></span><span class=GramE>(</span>)” override |
2405 |
2253 |
|
for the class includes all details of the query and results, error code |
2406 |
|
- |
etc… in one shot – makes logging out failures a simple process.<span |
2407 |
|
- |
style='mso-spacerun:yes'> </span>The query string returned in the class |
2408 |
|
- |
includes all parameters and their values (for either a query or a stored |
2409 |
|
- |
procedure call) so it’s a simple matter of dropping the results to your |
2410 |
|
- |
log file or console or whatever using the <span class=SpellE><span class=GramE>ToString</span></span><span |
2411 |
|
- |
class=GramE>(</span>) and you have everything you need for running down the |
2412 |
|
- |
problem.<span style='color:black;mso-themecolor:text1'><o:p></o:p></span></span></p> |
|
2254 |
+ |
etc… in one shot – makes logging out failures a simple |
|
2255 |
+ |
process.<span style='mso-spacerun:yes'> </span>The query string returned |
|
2256 |
+ |
in the class includes all parameters and their values (for either a query or a |
|
2257 |
+ |
stored procedure call) so it’s a simple matter of dropping the results to |
|
2258 |
+ |
your log file or console or whatever using the <span class=SpellE><span |
|
2259 |
+ |
class=GramE>ToString</span></span><span class=GramE>(</span>) and you have |
|
2260 |
+ |
everything you need for running down the problem.<span style='color:black; |
|
2261 |
+ |
mso-themecolor:text1'><o:p></o:p></span></span></p> |
2413 |
2262 |
|
|
2414 |
2263 |
|
<h3><a name="_Toc366578035">Logging and Debugging with the SDK</a><span |
2415 |
2264 |
|
style='mso-bookmark:_Toc366578035'></span><span style='font-size:12.0pt; |
|
@@ -2423,33 +2272,32 @@ |
2423 |
2272 |
|
class=SpellE>DbFetchResult</span> class mentioned above.<span |
2424 |
2273 |
|
style='mso-spacerun:yes'> </span>Since the SDK can be (and is) used in a |
2425 |
2274 |
|
variety of application types such as desktop applications, services and web |
2426 |
|
- |
servers it cannot assume access to the local file system for logging |
2427 |
|
- |
purposes.<span style='mso-spacerun:yes'> </span>It does provide a few |
2428 |
|
- |
event handles you can wire up to provide more “dialog like” logging |
2429 |
|
- |
in your application if you prefer and/or can provide more diagnostic output you |
2430 |
|
- |
can handle as you like at your application level as disused in this next |
2431 |
|
- |
section.<o:p></o:p></span></p> |
|
2275 |
+ |
servers it cannot assume access to the local file system for logging purposes.<span |
|
2276 |
+ |
style='mso-spacerun:yes'> </span>It does provide a few event handles you |
|
2277 |
+ |
can wire up to provide more “dialog like” logging in your |
|
2278 |
+ |
application if you prefer and/or can provide more diagnostic output you can |
|
2279 |
+ |
handle as you like at your application level as disused in this next section.<o:p></o:p></span></p> |
2432 |
2280 |
|
|
2433 |
2281 |
|
<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace: |
2434 |
2282 |
|
none'><span style='font-size:8.0pt'>The <span class=SpellE>UnityConnectrionServerOdbc</span> |
2435 |
2283 |
|
object exposes a couple of events you can use if you wish to be notified of any |
2436 |
2284 |
|
error and, optionally, debug event data that you can “hook” in your |
2437 |
|
- |
application to provide a more “dialog” logging output for |
2438 |
|
- |
instance.<span style='mso-spacerun:yes'> </span>As noted above most calls |
2439 |
|
- |
in the SDK return a <span class=SpellE>DbFetchResult</span> class instance that |
2440 |
|
- |
has all the error and details of what was <span class=GramE>sent/received</span> |
2441 |
|
- |
from the server that you’d need.<span style='mso-spacerun:yes'> |
|
2285 |
+ |
application to provide a more “dialog” logging output for instance.<span |
|
2286 |
+ |
style='mso-spacerun:yes'> </span>As noted above most calls in the SDK |
|
2287 |
+ |
return a <span class=SpellE>DbFetchResult</span> class instance that has all |
|
2288 |
+ |
the error and details of what was <span class=GramE>sent/received</span> from |
|
2289 |
+ |
the server that you’d need.<span style='mso-spacerun:yes'> |
2442 |
2290 |
|
</span>For any errors that may take place on the back end which are not tied |
2443 |
|
- |
directly to a method call with a <span class=SpellE>DbFetchResult</span> |
2444 |
|
- |
return, you can hook the <span class=SpellE>ErrorEvents</span> event off the <span |
|
2291 |
+ |
directly to a method call with a <span class=SpellE>DbFetchResult</span> return, |
|
2292 |
+ |
you can hook the <span class=SpellE>ErrorEvents</span> event off the <span |
2445 |
2293 |
|
class=SpellE>CiscoUnityConnectionServer</span> class and the database functions |
2446 |
2294 |
|
class instance you passed to it (in our case this currently means the <span |
2447 |
2295 |
|
class=SpellE><b style='mso-bidi-font-weight:normal'>ConnectionInformixAdoNetDatabaseFunctions</b></span> |
2448 |
2296 |
|
class).<o:p></o:p></span></p> |
2449 |
2297 |
|
|
2450 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>This is easy to setup in |
2451 |
|
- |
.NET.<span style='mso-spacerun:yes'> </span>After creating the server |
2452 |
|
- |
object you can add these two lines of code:<o:p></o:p></span></p> |
|
2298 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>This is easy to setup in .NET.<span |
|
2299 |
+ |
style='mso-spacerun:yes'> </span>After creating the server object you can |
|
2300 |
+ |
add these two lines of code:<o:p></o:p></span></p> |
2453 |
2301 |
|
|
2454 |
2302 |
|
<p class=MsoNormal style='margin-top:0in;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; |
2455 |
2303 |
|
background:white'><span style='mso-bidi-font-size:10.0pt;font-family:Consolas; |
|
@@ -2470,8 +2318,8 @@ |
2470 |
2318 |
|
margin-left:.5in;margin-bottom:.0001pt;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt; |
2471 |
2319 |
|
background:white'><span style='font-size:8.5pt;font-family:Consolas;color:black'><o:p> </o:p></span></p> |
2472 |
2320 |
|
|
2473 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>Then the definition for the |
2474 |
|
- |
method that fires when the error event is raised looks like this:<o:p></o:p></span></p> |
|
2321 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>Then the definition for the method |
|
2322 |
+ |
that fires when the error event is raised looks like this:<o:p></o:p></span></p> |
2475 |
2323 |
|
|
2476 |
2324 |
|
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
2477 |
2325 |
|
|
|
@@ -2519,8 +2367,8 @@ |
2519 |
2367 |
|
classes will show up in the log now where you can spot them.<span |
2520 |
2368 |
|
style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
2521 |
2369 |
|
|
2522 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>Similarly you can wire up the debug |
2523 |
|
- |
event that can also be useful, however you should only do this if you’re |
|
2370 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>Similarly you can wire up the |
|
2371 |
+ |
debug event that can also be useful, however you should only do this if you’re |
2524 |
2372 |
|
having a specific problem you’re trying to diagnose – you should |
2525 |
2373 |
|
NEVER have this enabled in a production application because the debug output is |
2526 |
2374 |
|
VERY chatty.<span style='mso-spacerun:yes'> </span>However if you need to |
|
@@ -2613,8 +2461,8 @@ |
2613 |
2461 |
|
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
2614 |
2462 |
|
|
2615 |
2463 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Not too tricky.<span |
2616 |
|
- |
style='mso-spacerun:yes'> </span>Again, though, I highly encourage folks |
2617 |
|
- |
to wire up and alert/log on error events but leave the debug events out of the |
|
2464 |
+ |
style='mso-spacerun:yes'> </span>Again, though, I highly encourage folks to |
|
2465 |
+ |
wire up and alert/log on error events but leave the debug events out of the |
2618 |
2466 |
|
picture unless you have a driving need for them in a particular scenario.<o:p></o:p></span></p> |
2619 |
2467 |
|
|
2620 |
2468 |
|
<h3><a name="_Toc366578036"></a><a name="_Users"></a><span style='mso-bookmark: |
|
@@ -2678,7 +2526,7 @@ |
2678 |
2526 |
|
as you iterate over the result set.<span style='mso-spacerun:yes'> |
2679 |
2527 |
|
</span>It’s quick, it’s easy and it can handle iterating over an |
2680 |
2528 |
|
enormous return set (think hundreds of thousands of rows) reasonably |
2681 |
|
- |
efficiently.<span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
|
2529 |
+ |
efficiently. <span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
2682 |
2530 |
|
|
2683 |
2531 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The down side, however, is |
2684 |
2532 |
|
that it uses a proprietary type (for instance the <span class=SpellE>IfxDataReader</span> |
|
@@ -2863,13 +2711,13 @@ |
2863 |
2711 |
|
comparison to happen with lower case and, of course, remember to pass your |
2864 |
2712 |
|
parameterized string as lower case as well to get matches.<o:p></o:p></span></p> |
2865 |
2713 |
|
|
2866 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>Fourth, fetch specific values.<span |
2867 |
|
- |
style='mso-spacerun:yes'> </span>In the above example only the Alias and <span |
2868 |
|
- |
class=SpellE>ObjectId</span> are being pulled off the <span class=SpellE>vw_Subscriber</span> |
2869 |
|
- |
view which has many columns.<span style='mso-spacerun:yes'> </span>Try |
2870 |
|
- |
and avoid “SELECT *” if you can.<span |
2871 |
|
- |
style='mso-spacerun:yes'> </span>There are times where it may be |
2872 |
|
- |
appropriate but rarely.<span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
|
2714 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>Fourth, fetch specific |
|
2715 |
+ |
values.<span style='mso-spacerun:yes'> </span>In the above example only |
|
2716 |
+ |
the Alias and <span class=SpellE>ObjectId</span> are being pulled off the <span |
|
2717 |
+ |
class=SpellE>vw_Subscriber</span> view which has many columns.<span |
|
2718 |
+ |
style='mso-spacerun:yes'> </span>Try and avoid “SELECT *” if |
|
2719 |
+ |
you can.<span style='mso-spacerun:yes'> </span>There are times where it |
|
2720 |
+ |
may be appropriate but rarely.<span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
2873 |
2721 |
|
|
2874 |
2722 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Typically you’d make a |
2875 |
2723 |
|
special check for no rows being returned.<span style='mso-spacerun:yes'> |
|
@@ -2932,10 +2780,10 @@ |
2932 |
2780 |
|
<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace: |
2933 |
2781 |
|
none'><span style='font-size:8.0pt;mso-bidi-font-family:Arial'>Notice that |
2934 |
2782 |
|
there’s no <span class=SpellE>DbFetchResult</span> class returned in this |
2935 |
|
- |
case, just the count. <span style='mso-spacerun:yes'> </span>This is a |
2936 |
|
- |
good reason to have the <span class=SpellE>ErrorEvent</span> wired up so if |
2937 |
|
- |
there is a malformed query passed you don’t just report 0 and move on |
2938 |
|
- |
without note.<o:p></o:p></span></p> |
|
2783 |
+ |
case, just the count.<span style='mso-spacerun:yes'> </span>This is a good |
|
2784 |
+ |
reason to have the <span class=SpellE>ErrorEvent</span> wired up so if there is |
|
2785 |
+ |
a malformed query passed you don’t just report 0 and move on without |
|
2786 |
+ |
note.<o:p></o:p></span></p> |
2939 |
2787 |
|
|
2940 |
2788 |
|
<p class=MsoNormal><span style='font-size:8.0pt;mso-bidi-font-family:Arial'>Yes, |
2941 |
2789 |
|
you can just execute fill data table method and the result is returned in the |
|
@@ -3244,9 +3092,9 @@ |
3244 |
3092 |
|
none'><span style='font-size:8.5pt;font-family:Consolas'><o:p> </o:p></span></p> |
3245 |
3093 |
|
|
3246 |
3094 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>This is a pretty similar |
3247 |
|
- |
process to using a data reader except you don’t need to iterate over the rows |
3248 |
|
- |
of a table, instead you need to execute “read” until it returns |
3249 |
|
- |
false (indicating the end of the record is reached).<span |
|
3095 |
+ |
process to using a data reader except you don’t need to iterate over the |
|
3096 |
+ |
rows of a table, instead you need to execute “read” until it |
|
3097 |
+ |
returns false (indicating the end of the record is reached).<span |
3250 |
3098 |
|
style='mso-spacerun:yes'> </span>Notice that you need to execute a read |
3251 |
3099 |
|
first before fetching data from the current row – when the reader is |
3252 |
3100 |
|
loaded the row is empty until you execute the Read() method.<span |
|
@@ -3268,10 +3116,10 @@ |
3268 |
3116 |
|
friend.<span style='mso-spacerun:yes'> </span>I know many folks |
3269 |
3117 |
|
don’t want to deal with stored procedures and want to just “get to |
3270 |
3118 |
|
the metal” and update data in tables directly.<span |
3271 |
|
- |
style='mso-spacerun:yes'> </span>Mostly I think this is because they |
3272 |
|
- |
don’t really understand what a stored procedure does for them or how they |
3273 |
|
- |
work.<span style='mso-spacerun:yes'> </span>The SDK is written to assume |
3274 |
|
- |
ALL updates, creates and deletes ware done via stored process exclusively.<span |
|
3119 |
+ |
style='mso-spacerun:yes'> </span>Mostly I think this is because they don’t |
|
3120 |
+ |
really understand what a stored procedure does for them or how they work.<span |
|
3121 |
+ |
style='mso-spacerun:yes'> </span>The SDK is written to assume ALL |
|
3122 |
+ |
updates, creates and deletes ware done via stored process exclusively.<span |
3275 |
3123 |
|
style='mso-spacerun:yes'> </span>If you’re doing anything other |
3276 |
3124 |
|
than that you’re doing it wrong, period.<o:p></o:p></span></p> |
3277 |
3125 |
|
|
|
@@ -3447,16 +3295,16 @@ |
3447 |
3295 |
|
is the string you passed into the database functions constructor when you |
3448 |
3296 |
|
created the <span class=SpellE>CiscoUnityConnectionServerOdbc</span> class |
3449 |
3297 |
|
instance.<span style='mso-spacerun:yes'> </span>The <span class=SpellE>AuditAlias</span> |
3450 |
|
- |
is the currently logged in user name and domain on the Windows client you’re |
3451 |
|
- |
running on.<span style='mso-spacerun:yes'> </span>This helps you be a |
3452 |
|
- |
good Unity Connection citizen by logging those details in the audit log on |
3453 |
|
- |
Connection for later troubleshooting purposes.<o:p></o:p></span></p> |
|
3298 |
+ |
is the currently logged in user name and domain on the Windows client |
|
3299 |
+ |
you’re running on.<span style='mso-spacerun:yes'> </span>This helps |
|
3300 |
+ |
you be a good Unity Connection citizen by logging those details in the audit |
|
3301 |
+ |
log on Connection for later troubleshooting purposes.<o:p></o:p></span></p> |
3454 |
3302 |
|
|
3455 |
3303 |
|
<h3><a name="_Toc366578044">Stored Procedure Naming Strategy</a></h3> |
3456 |
3304 |
|
|
3457 |
3305 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>All stored procedures added by |
3458 |
|
- |
Unity Connection start with “<span class=SpellE>csp</span>_” – |
3459 |
|
- |
which stands for Connection Stored Procedure.<span |
|
3306 |
+ |
Unity Connection start with “<span class=SpellE>csp</span>_” |
|
3307 |
+ |
– which stands for Connection Stored Procedure.<span |
3460 |
3308 |
|
style='mso-spacerun:yes'> </span>There are, of course, system level |
3461 |
3309 |
|
stored procedures also present in the database but these are not for public use |
3462 |
3310 |
|
and tools like CUDLI will not show them to you.<o:p></o:p></span></p> |
|
@@ -3476,17 +3324,18 @@ |
3476 |
3324 |
|
can be ignored, these are not intended for use in applications, they get used |
3477 |
3325 |
|
during installation/configuration or are used on the back end.<span |
3478 |
3326 |
|
style='mso-spacerun:yes'> </span>Using CUDLI you can still see them and, |
3479 |
|
- |
in fact, review the source code for the stored procedures themselves if you’re |
3480 |
|
- |
curious but you shouldn’t be worrying about these for use in your |
3481 |
|
- |
applications.<o:p></o:p></span></p> |
|
3327 |
+ |
in fact, review the source code for the stored procedures themselves if |
|
3328 |
+ |
you’re curious but you shouldn’t be worrying about these for use in |
|
3329 |
+ |
your applications.<o:p></o:p></span></p> |
3482 |
3330 |
|
|
3483 |
3331 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The remaining stored |
3484 |
3332 |
|
procedures in the list come in sets of 3 for create, modify, delete methods and |
3485 |
|
- |
the stored procedure name always starts with the name of the object you’re |
3486 |
|
- |
working with.<span style='mso-spacerun:yes'> </span>There’s a few |
3487 |
|
- |
special functions in addition to the basic 3 here and there (for instance <span |
3488 |
|
- |
class=SpellE>csp_BroadcastMessagePurge</span>) but for the most part all stored |
3489 |
|
- |
procedure names start with the object type followed by the 3 functions.<o:p></o:p></span></p> |
|
3333 |
+ |
the stored procedure name always starts with the name of the object |
|
3334 |
+ |
you’re working with.<span style='mso-spacerun:yes'> |
|
3335 |
+ |
</span>There’s a few special functions in addition to the basic 3 here |
|
3336 |
+ |
and there (for instance <span class=SpellE>csp_BroadcastMessagePurge</span>) |
|
3337 |
+ |
but for the most part all stored procedure names start with the object type |
|
3338 |
+ |
followed by the 3 functions.<o:p></o:p></span></p> |
3490 |
3339 |
|
|
3491 |
3340 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>So for instance if you want to |
3492 |
3341 |
|
create, modify or delete a subscriber (a user with a mailbox) you would use |
|
@@ -3504,15 +3353,15 @@ |
3504 |
3353 |
|
style='font-size:8.0pt'>csp_SubscriberModify</span></span><span |
3505 |
3354 |
|
style='font-size:8.0pt'><o:p></o:p></span></p> |
3506 |
3355 |
|
|
3507 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>You’ll also notice that |
3508 |
|
- |
all parameters for all procedures are prefixed with a lower case “p” |
|
3356 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>You’ll also notice that all |
|
3357 |
+ |
parameters for all procedures are prefixed with a lower case “p” |
3509 |
3358 |
|
– this is a database naming convention and I know it trips folks up now |
3510 |
3359 |
|
and again, so don’t forget when passing your parameters to include the p |
3511 |
3360 |
|
in there.<o:p></o:p></span></p> |
3512 |
3361 |
|
|
3513 |
3362 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>You’ll also see some |
3514 |
|
- |
stored procedures that have “get” embedded in them – around 20 |
3515 |
|
- |
of them.<span style='mso-spacerun:yes'> </span>These are shorthand |
|
3363 |
+ |
stored procedures that have “get” embedded in them – around |
|
3364 |
+ |
20 of them.<span style='mso-spacerun:yes'> </span>These are shorthand |
3516 |
3365 |
|
methods used by the web based administration interface (CUCA) and most of them |
3517 |
3366 |
|
are not going to be of interest to application developers.<span |
3518 |
3367 |
|
style='mso-spacerun:yes'> </span>For instance “<span class=SpellE>csp_GetLocalizedText</span>” |
|
@@ -3541,8 +3390,8 @@ |
3541 |
3390 |
|
class=GramE>the create</span> stored procedures return 1 or more values and all |
3542 |
3391 |
|
the rest of the stored procedures do not return anything.<span |
3543 |
3392 |
|
style='mso-spacerun:yes'> </span>Why do you care?<span |
3544 |
|
- |
style='mso-spacerun:yes'> </span>If you call a stored procedure that |
3545 |
|
- |
returns a value without getting that value the call will fail.<span |
|
3393 |
+ |
style='mso-spacerun:yes'> </span>If you call a stored procedure that returns |
|
3394 |
+ |
a value without getting that value the call will fail.<span |
3546 |
3395 |
|
style='mso-spacerun:yes'> </span>Trying to fetch a return value when one |
3547 |
3396 |
|
is not present will also fail of course.<span style='mso-spacerun:yes'> |
3548 |
3397 |
|
</span>So you need to be sure to call the procedure you are using with the |
|
@@ -3551,16 +3400,15 @@ |
3551 |
3400 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The vast majority of <span |
3552 |
3401 |
|
class=GramE>the create</span> stored procedures return a “<span |
3553 |
3402 |
|
class=SpellE>pObjectId</span>” string indicating the new unique |
3554 |
|
- |
identifier for the newly created object. <span |
3555 |
|
- |
style='mso-spacerun:yes'> </span>If you’re curious about a |
3556 |
|
- |
particular stored procedure’s behavior you can simply select the |
3557 |
|
- |
procedure in CUDLI and then use the “Source” view button to see the |
3558 |
|
- |
stored procedure source code.<span style='mso-spacerun:yes'> </span>The |
3559 |
|
- |
Informix style stored procedure code may look a little odd to you but up at the |
3560 |
|
- |
top where the “CREATE PROCEDURE” is seen should be fairly obvious |
3561 |
|
- |
as a method signature.<span style='mso-spacerun:yes'> </span>For instance |
3562 |
|
- |
the <span class=SpellE>csp_BroadcastMessageCreate</span> procedure starts like |
3563 |
|
- |
this:<o:p></o:p></span></p> |
|
3403 |
+ |
identifier for the newly created object.<span style='mso-spacerun:yes'> |
|
3404 |
+ |
</span>If you’re curious about a particular stored procedure’s |
|
3405 |
+ |
behavior you can simply select the procedure in CUDLI and then use the |
|
3406 |
+ |
“Source” view button to see the stored procedure source code.<span |
|
3407 |
+ |
style='mso-spacerun:yes'> </span>The Informix style stored procedure code |
|
3408 |
+ |
may look a little odd to you but up at the top where the “CREATE |
|
3409 |
+ |
PROCEDURE” is seen should be fairly obvious as a method signature.<span |
|
3410 |
+ |
style='mso-spacerun:yes'> </span>For instance the <span class=SpellE>csp_BroadcastMessageCreate</span> |
|
3411 |
+ |
procedure starts like this:<o:p></o:p></span></p> |
3564 |
3412 |
|
|
3565 |
3413 |
|
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
3566 |
3414 |
|
|
|
@@ -3682,9 +3530,9 @@ |
3682 |
3530 |
|
|
3683 |
3531 |
|
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
3684 |
3532 |
|
|
3685 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>Note the lack of a “RETURNS” |
3686 |
|
- |
clause there – this procedure does not return anything.<span |
3687 |
|
- |
style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
|
3533 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>Note the lack of a |
|
3534 |
+ |
“RETURNS” clause there – this procedure does not return |
|
3535 |
+ |
anything.<span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
3688 |
3536 |
|
|
3689 |
3537 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>So, what does this mean for |
3690 |
3538 |
|
the SDK?<span style='mso-spacerun:yes'> </span>Let’s see how we |
|
@@ -3693,8 +3541,8 @@ |
3693 |
3541 |
|
new broadcast message.<span style='mso-spacerun:yes'> </span>This |
3694 |
3542 |
|
requires we already uploaded a WAV file as a stream file (done using CUPI REST |
3695 |
3543 |
|
API which is not covered here) and you have a subscriber’s ID to act as |
3696 |
|
- |
the owner (sender) of the message.<span style='mso-spacerun:yes'> </span>We’ll |
3697 |
|
- |
set the broadcast message to live for 5 days max.<span |
|
3544 |
+ |
the owner (sender) of the message.<span style='mso-spacerun:yes'> |
|
3545 |
+ |
</span>We’ll set the broadcast message to live for 5 days max.<span |
3698 |
3546 |
|
style='mso-spacerun:yes'> </span>The code looks like this:<o:p></o:p></span></p> |
3699 |
3547 |
|
|
3700 |
3548 |
|
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
|
@@ -3782,8 +3630,7 @@ |
3782 |
3630 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3783 |
3631 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3784 |
3632 |
|
none'><span style='font-size:8.5pt;font-family:Consolas'><span |
3785 |
|
- |
style='mso-spacerun:yes'> </span><span |
3786 |
|
- |
style='mso-spacerun:yes'> </span><span class=SpellE><span |
|
3633 |
+ |
style='mso-spacerun:yes'> </span><span class=SpellE><span |
3787 |
3634 |
|
class=GramE><span style='color:#2B91AF'>Console</span>.WriteLine</span></span><span |
3788 |
3635 |
|
class=GramE>(</span><span style='color:#A31515'>"<span class=SpellE>Proc</span> |
3789 |
3636 |
|
failed:"</span>+res);<o:p></o:p></span></p> |
|
@@ -3820,8 +3667,8 @@ |
3820 |
3667 |
|
|
3821 |
3668 |
|
<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace: |
3822 |
3669 |
|
none'><span style='font-size:8.0pt;mso-bidi-font-family:Arial'>Of note here is |
3823 |
|
- |
the out parameter for the new <span class=SpellE>objectId</span> – if that |
3824 |
|
- |
is not passed the call to the stored procedure will fail since it’s |
|
3670 |
+ |
the out parameter for the new <span class=SpellE>objectId</span> – if |
|
3671 |
+ |
that is not passed the call to the stored procedure will fail since it’s |
3825 |
3672 |
|
expecting to pass back a value for the new Id here.<span |
3826 |
3673 |
|
style='mso-spacerun:yes'> </span>If we then turn around and delete that |
3827 |
3674 |
|
same broadcast message the call would look like this:<o:p></o:p></span></p> |
|
@@ -3932,11 +3779,11 @@ |
3932 |
3779 |
|
none'><span style='font-size:8.0pt;mso-bidi-font-family:Arial'>So at this point |
3933 |
3780 |
|
you’ve seen how to fetch data as a table, number or string and how to |
3934 |
3781 |
|
create/delete/modify data using stored procedures using the SDK.<span |
3935 |
|
- |
style='mso-spacerun:yes'> </span>You now know everything you need to for writing |
3936 |
|
- |
applications using ODBC – what follows is some examples to help flesh out |
3937 |
|
- |
common tasks but for the most part everything you need to know is contained in |
3938 |
|
- |
the CUDLI interface via the data dictionary notes and the stored procedure and |
3939 |
|
- |
view/table interfaces.<o:p></o:p></span></p> |
|
3782 |
+ |
style='mso-spacerun:yes'> </span>You now know everything you need to for |
|
3783 |
+ |
writing applications using ODBC – what follows is some examples to help |
|
3784 |
+ |
flesh out common tasks but for the most part everything you need to know is |
|
3785 |
+ |
contained in the CUDLI interface via the data dictionary notes and the stored |
|
3786 |
+ |
procedure and view/table interfaces.<o:p></o:p></span></p> |
3940 |
3787 |
|
|
3941 |
3788 |
|
<h2><a name="_Toc366578046">Changing Database Focus</a></h2> |
3942 |
3789 |
|
|
|
@@ -3944,23 +3791,23 @@ |
3944 |
3791 |
|
the Unity Connection server you are connected to the <span class=SpellE><b |
3945 |
3792 |
|
style='mso-bidi-font-weight:normal'>UnityDirDb</b></span> database.<span |
3946 |
3793 |
|
style='mso-spacerun:yes'> </span>This is by far the most common database |
3947 |
|
- |
and holds all directory information for users, call handlers, interviewers etc… |
3948 |
|
- |
for creating, editing and deleting directory objects this is the database you |
3949 |
|
- |
need to be attached to.<span style='mso-spacerun:yes'> </span>There are, |
3950 |
|
- |
however, 3 other databases you can attach to (and explore in CUDLI if you |
3951 |
|
- |
like).<span style='mso-spacerun:yes'> </span>Here’s the list of all |
3952 |
|
- |
database names you can attach to:<o:p></o:p></span></p> |
|
3794 |
+ |
and holds all directory information for users, call handlers, interviewers |
|
3795 |
+ |
etc… for creating, editing and deleting directory objects this is the |
|
3796 |
+ |
database you need to be attached to.<span style='mso-spacerun:yes'> |
|
3797 |
+ |
</span>There are, however, 3 other databases you can attach to (and explore in |
|
3798 |
+ |
CUDLI if you like).<span style='mso-spacerun:yes'> </span>Here’s |
|
3799 |
+ |
the list of all database names you can attach to:<o:p></o:p></span></p> |
3953 |
3800 |
|
|
3954 |
|
- |
<p class=MsoListParagraphCxSpFirst style='text-indent:-.25in;mso-list:l1 level1 lfo9'><![if !supportLists]><span |
|
3801 |
+ |
<p class=MsoListParagraphCxSpFirst style='text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span |
3955 |
3802 |
|
style='font-size:8.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; |
3956 |
3803 |
|
mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span |
3957 |
3804 |
|
style='font:7.0pt "Times New Roman"'> |
3958 |
3805 |
|
</span></span></span><![endif]><span class=SpellE><b style='mso-bidi-font-weight: |
3959 |
3806 |
|
normal'><span style='font-size:8.0pt'>UnityDirDb</span></b></span><span |
3960 |
|
- |
style='font-size:8.0pt'>.<span style='mso-spacerun:yes'> </span>The main directory |
3961 |
|
- |
database which is the default when attaching to a Connection server.<o:p></o:p></span></p> |
|
3807 |
+ |
style='font-size:8.0pt'>.<span style='mso-spacerun:yes'> </span>The main |
|
3808 |
+ |
directory database which is the default when attaching to a Connection server.<o:p></o:p></span></p> |
3962 |
3809 |
|
|
3963 |
|
- |
<p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l1 level1 lfo9'><![if !supportLists]><span |
|
3810 |
+ |
<p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span |
3964 |
3811 |
|
style='font-size:8.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; |
3965 |
3812 |
|
mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span |
3966 |
3813 |
|
style='font:7.0pt "Times New Roman"'> |
|
@@ -3972,7 +3819,7 @@ |
3972 |
3819 |
|
</span>There isn’t anything in here that a typical application would be |
3973 |
3820 |
|
interested in and certainly nothing you’d need to create or modify.<o:p></o:p></span></p> |
3974 |
3821 |
|
|
3975 |
|
- |
<p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l1 level1 lfo9'><![if !supportLists]><span |
|
3822 |
+ |
<p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span |
3976 |
3823 |
|
style='font-size:8.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; |
3977 |
3824 |
|
mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span |
3978 |
3825 |
|
style='font:7.0pt "Times New Roman"'> |
|
@@ -3984,26 +3831,26 @@ |
3984 |
3831 |
|
process about every 30 minutes or so.<span style='mso-spacerun:yes'> |
3985 |
3832 |
|
</span><o:p></o:p></span></p> |
3986 |
3833 |
|
|
3987 |
|
- |
<p class=MsoListParagraphCxSpLast style='text-indent:-.25in;mso-list:l1 level1 lfo9'><![if !supportLists]><span |
|
3834 |
+ |
<p class=MsoListParagraphCxSpLast style='text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span |
3988 |
3835 |
|
style='font-size:8.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; |
3989 |
3836 |
|
mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>·<span |
3990 |
3837 |
|
style='font:7.0pt "Times New Roman"'> |
3991 |
3838 |
|
</span></span></span><![endif]><b style='mso-bidi-font-weight:normal'><span |
3992 |
3839 |
|
style='font-size:8.0pt'>UnityMbxDb1</span></b><span style='font-size:8.0pt'>.<span |
3993 |
3840 |
|
style='mso-spacerun:yes'> </span>Actually there can be up to 6 of these, |
3994 |
|
- |
1 through 6.<span style='mso-spacerun:yes'> </span>This stores the mailbox |
3995 |
|
- |
and messages data for users.<span style='mso-spacerun:yes'> </span>I’m |
3996 |
|
- |
often asked why it’s necessary to support up to 6 of these and it has nothing |
3997 |
|
- |
to do with capacity (total messaging capacity is limited by the disk size of |
3998 |
|
- |
the server).<span style='mso-spacerun:yes'> </span>You’d create separate |
3999 |
|
- |
mail databases such that backing the up can be broken up.<span |
4000 |
|
- |
style='mso-spacerun:yes'> </span>If all messages are in one giant mailbox |
4001 |
|
- |
database for a large site the time it takes DRS to back it up can exceed the |
4002 |
|
- |
window a site has to get a backup completed.<span |
|
3841 |
+ |
1 through 6.<span style='mso-spacerun:yes'> </span>This stores the |
|
3842 |
+ |
mailbox and messages data for users.<span style='mso-spacerun:yes'> |
|
3843 |
+ |
</span>I’m often asked why it’s necessary to support up to 6 of |
|
3844 |
+ |
these and it has nothing to do with capacity (total messaging capacity is |
|
3845 |
+ |
limited by the disk size of the server).<span style='mso-spacerun:yes'> |
|
3846 |
+ |
</span>You’d create separate mail databases such that backing the up can |
|
3847 |
+ |
be broken up.<span style='mso-spacerun:yes'> </span>If all messages are |
|
3848 |
+ |
in one giant mailbox database for a large site the time it takes DRS to back it |
|
3849 |
+ |
up can exceed the window a site has to get a backup completed.<span |
4003 |
3850 |
|
style='mso-spacerun:yes'> </span>As such they may wish to break message |
4004 |
3851 |
|
databases up and spread the backup of those databases over multiple nights for |
4005 |
|
- |
instance.<span style='mso-spacerun:yes'> </span>There is no performance or |
4006 |
|
- |
capacity <span class=GramE>advantage,</span> it’s all about backup time |
|
3852 |
+ |
instance.<span style='mso-spacerun:yes'> </span>There is no performance |
|
3853 |
+ |
or capacity <span class=GramE>advantage,</span> it’s all about backup time |
4007 |
3854 |
|
and size considerations.<o:p></o:p></span></p> |
4008 |
3855 |
|
|
4009 |
3856 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>To switch the currently |
|
@@ -4071,7 +3918,7 @@ |
4071 |
3918 |
|
|
4072 |
3919 |
|
<h1><a name="_Toc366578048">Revision History</a></h1> |
4073 |
3920 |
|
|
4074 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>Version 2.0.4 - 9/10/2013<o:p></o:p></span></p> |
|
3921 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>Version 3.0.1 - 1/7/2014<o:p></o:p></span></p> |
4075 |
3922 |
|
|
4076 |
3923 |
|
<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l2 level1 lfo8'><![if !supportLists]><span |
4077 |
3924 |
|
style='font-size:8.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; |
|
@@ -4082,7 +3929,7 @@ |
4082 |
3929 |
|
|
4083 |
3930 |
|
<p class=MsoToc1><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
4084 |
3931 |
|
|
4085 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>© 2013 Cisco Systems, |
|
3932 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>© 2014 Cisco Systems, |
4086 |
3933 |
|
Inc. -- Company Confidential<o:p></o:p></span></p> |
4087 |
3934 |
|
|
4088 |
3935 |
|
</div> |