|
@@ -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>46</o:Revision> |
20 |
|
- |
<o:TotalTime>8458</o:TotalTime> |
21 |
|
- |
<o:LastPrinted>2013-09-10T19:05:00Z</o:LastPrinted> |
22 |
|
- |
<o:Created>2013-09-08T15:19:00Z</o:Created> |
23 |
|
- |
<o:LastSaved>2014-01-08T01:25:00Z</o:LastSaved> |
24 |
|
- |
<o:Pages>13</o:Pages> |
25 |
|
- |
<o:Words>7619</o:Words> |
26 |
|
- |
<o:Characters>43433</o:Characters> |
|
19 |
+ |
<o:Revision>4</o:Revision> |
|
20 |
+ |
<o:TotalTime>8553</o:TotalTime> |
|
21 |
+ |
<o:LastPrinted>2014-01-09T00:59:00Z</o:LastPrinted> |
|
22 |
+ |
<o:Created>2014-01-09T00:58:00Z</o:Created> |
|
23 |
+ |
<o:LastSaved>2014-01-09T00:59:00Z</o:LastSaved> |
|
24 |
+ |
<o:Pages>1</o:Pages> |
|
25 |
+ |
<o:Words>7844</o:Words> |
|
26 |
+ |
<o:Characters>44717</o:Characters> |
27 |
27 |
|
<o:Company>Cisco Systems, Inc.</o:Company> |
28 |
|
- |
<o:Lines>361</o:Lines> |
29 |
|
- |
<o:Paragraphs>101</o:Paragraphs> |
30 |
|
- |
<o:CharactersWithSpaces>50951</o:CharactersWithSpaces> |
|
28 |
+ |
<o:Lines>372</o:Lines> |
|
29 |
+ |
<o:Paragraphs>104</o:Paragraphs> |
|
30 |
+ |
<o:CharactersWithSpaces>52457</o:CharactersWithSpaces> |
31 |
31 |
|
<o:Version>14.00</o:Version> |
32 |
32 |
|
</o:DocumentProperties> |
33 |
33 |
|
<o:OfficeDocumentSettings> |
|
@@ -1116,15 +1116,19 @@ |
1116 |
1116 |
|
style='mso-element:field-begin'></span><span |
1117 |
1117 |
|
style='mso-spacerun:yes'> </span>TOC \o "2-9" \h \z \t |
1118 |
1118 |
|
"Heading 1,1" <span style='mso-element:field-separator'></span><![endif]--><span |
1119 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578022">Overview<span |
|
1119 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966587">Overview<span |
1120 |
1120 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1121 |
1121 |
|
text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1122 |
1122 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1123 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1125 |
1124 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1126 |
|
- |
text-underline:none'>1<!--[if gte mso 9]><xml> |
1127 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320032000000</w:data> |
|
1125 |
+ |
text-underline:none'> PAGEREF _Toc376966587 \h </span><span style='color:windowtext; |
|
1126 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1127 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1128 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1129 |
+ |
text-underline:none'>1</span><span style='color:windowtext;display:none; |
|
1130 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1131 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003500380037000000</w:data> |
1128 |
1132 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1129 |
1133 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1130 |
1134 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1134,15 +1138,19 @@ |
1134 |
1138 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1135 |
1139 |
|
|
1136 |
1140 |
|
<p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span |
1137 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578023">Requirements/Special |
|
1141 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966588">Requirements/Special |
1138 |
1142 |
|
Notes<span style='color:windowtext;display:none;mso-hide:screen;text-decoration: |
1139 |
1143 |
|
none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1140 |
1144 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1145 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1143 |
1146 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1144 |
|
- |
text-underline:none'>2<!--[if gte mso 9]><xml> |
1145 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320033000000</w:data> |
|
1147 |
+ |
text-underline:none'> PAGEREF _Toc376966588 \h </span><span style='color:windowtext; |
|
1148 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1149 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1150 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1151 |
+ |
text-underline:none'>2</span><span style='color:windowtext;display:none; |
|
1152 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1153 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003500380038000000</w:data> |
1146 |
1154 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1147 |
1155 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1148 |
1156 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1152,16 +1160,20 @@ |
1152 |
1160 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1153 |
1161 |
|
|
1154 |
1162 |
|
<p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span |
1155 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578024">Why |
|
1163 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966589">Why |
1156 |
1164 |
|
ODBC, Isn’t That Going Away?<span style='color:windowtext;display:none; |
1157 |
1165 |
|
mso-hide:screen;text-decoration:none;text-underline:none'><span |
1158 |
1166 |
|
style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1159 |
1167 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1168 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1162 |
1169 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1163 |
|
- |
text-underline:none'>2<!--[if gte mso 9]><xml> |
1164 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320034000000</w:data> |
|
1170 |
+ |
text-underline:none'> PAGEREF _Toc376966589 \h </span><span style='color:windowtext; |
|
1171 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1172 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1173 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1174 |
+ |
text-underline:none'>2</span><span style='color:windowtext;display:none; |
|
1175 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1176 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003500380039000000</w:data> |
1165 |
1177 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1166 |
1178 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1167 |
1179 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1171,16 +1183,20 @@ |
1171 |
1183 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1172 |
1184 |
|
|
1173 |
1185 |
|
<p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span |
1174 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578025">Won’t |
|
1186 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966590">Won’t |
1175 |
1187 |
|
ODBC Projects Break With Every New Release?<span style='color:windowtext; |
1176 |
1188 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1177 |
1189 |
|
style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1178 |
1190 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1191 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1192 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1193 |
+ |
text-underline:none'> PAGEREF _Toc376966590 \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 |
1181 |
1196 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1182 |
|
- |
text-underline:none'>3<!--[if gte mso 9]><xml> |
1183 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320035000000</w:data> |
|
1197 |
+ |
text-underline:none'>3</span><span style='color:windowtext;display:none; |
|
1198 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1199 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003500390030000000</w:data> |
1184 |
1200 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1185 |
1201 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1186 |
1202 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1190,16 +1206,20 @@ |
1190 |
1206 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1191 |
1207 |
|
|
1192 |
1208 |
|
<p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span |
1193 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578026">Installing |
|
1209 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966591">Installing |
1194 |
1210 |
|
and Using the Library in Your Project<span style='color:windowtext;display: |
1195 |
1211 |
|
none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1196 |
1212 |
|
style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span |
1197 |
1213 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1214 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1215 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1216 |
+ |
text-underline:none'> PAGEREF _Toc376966591 \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 |
1200 |
1219 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1201 |
|
- |
text-underline:none'>3<!--[if gte mso 9]><xml> |
1202 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320036000000</w:data> |
|
1220 |
+ |
text-underline:none'>3</span><span style='color:windowtext;display:none; |
|
1221 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1222 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003500390031000000</w:data> |
1203 |
1223 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1204 |
1224 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1205 |
1225 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1209,15 +1229,19 @@ |
1209 |
1229 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1210 |
1230 |
|
|
1211 |
1231 |
|
<p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span |
1212 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578027">Using |
|
1232 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966592">Using |
1213 |
1233 |
|
the .NET ODBC SDK<span style='color:windowtext;display:none;mso-hide:screen; |
1214 |
1234 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1215 |
1235 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1236 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1218 |
1237 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1219 |
|
- |
text-underline:none'>3<!--[if gte mso 9]><xml> |
1220 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320037000000</w:data> |
|
1238 |
+ |
text-underline:none'> PAGEREF _Toc376966592 \h </span><span style='color:windowtext; |
|
1239 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1240 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1241 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1242 |
+ |
text-underline:none'>3</span><span style='color:windowtext;display:none; |
|
1243 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1244 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003500390032000000</w:data> |
1221 |
1245 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1222 |
1246 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1223 |
1247 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1227,15 +1251,19 @@ |
1227 |
1251 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1228 |
1252 |
|
|
1229 |
1253 |
|
<p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span |
1230 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578028">Getting |
|
1254 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966593">Getting |
1231 |
1255 |
|
Started<span style='color:windowtext;display:none;mso-hide:screen;text-decoration: |
1232 |
1256 |
|
none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1233 |
1257 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1258 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1236 |
1259 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1237 |
|
- |
text-underline:none'>4<!--[if gte mso 9]><xml> |
1238 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320038000000</w:data> |
|
1260 |
+ |
text-underline:none'> PAGEREF _Toc376966593 \h </span><span style='color:windowtext; |
|
1261 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1262 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1263 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1264 |
+ |
text-underline:none'>4</span><span style='color:windowtext;display:none; |
|
1265 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1266 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003500390033000000</w:data> |
1239 |
1267 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1240 |
1268 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1241 |
1269 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1245,16 +1273,20 @@ |
1245 |
1273 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1246 |
1274 |
|
|
1247 |
1275 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1248 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578029"><span |
|
1276 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966594"><span |
1249 |
1277 |
|
style='mso-bidi-font-style:italic'>Task 1: Install the IBM Informix Client SDK.</span><span |
1250 |
1278 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1251 |
1279 |
|
text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span |
1252 |
1280 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1281 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1282 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1283 |
+ |
text-underline:none'> PAGEREF _Toc376966594 \h </span><span style='color:windowtext; |
|
1284 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1285 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
1255 |
1286 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1256 |
|
- |
text-underline:none'>4<!--[if gte mso 9]><xml> |
1257 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000320039000000</w:data> |
|
1287 |
+ |
text-underline:none'>4</span><span style='color:windowtext;display:none; |
|
1288 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1289 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003500390034000000</w:data> |
1258 |
1290 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1259 |
1291 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1260 |
1292 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1264,17 +1296,21 @@ |
1264 |
1296 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1265 |
1297 |
|
|
1266 |
1298 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1267 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578030"><span |
|
1299 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966595"><span |
1268 |
1300 |
|
style='mso-bidi-font-style:italic'>Task 2: Configure a User with the Remote |
1269 |
1301 |
|
Administrator and System Administrator roles</span><span style='color:windowtext; |
1270 |
1302 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1271 |
1303 |
|
style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1272 |
1304 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1305 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1275 |
1306 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1276 |
|
- |
text-underline:none'>4<!--[if gte mso 9]><xml> |
1277 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330030000000</w:data> |
|
1307 |
+ |
text-underline:none'> PAGEREF _Toc376966595 \h </span><span style='color:windowtext; |
|
1308 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1309 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1310 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1311 |
+ |
text-underline:none'>4</span><span style='color:windowtext;display:none; |
|
1312 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1313 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003500390035000000</w:data> |
1278 |
1314 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1279 |
1315 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1280 |
1316 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1284,16 +1320,20 @@ |
1284 |
1320 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1285 |
1321 |
|
|
1286 |
1322 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1287 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578031"><span |
|
1323 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966596"><span |
1288 |
1324 |
|
style='mso-bidi-font-style:italic'>Task 3: Set the Database Proxy Service |
1289 |
1325 |
|
Shutdown Time</span><span style='color:windowtext;display:none;mso-hide:screen; |
1290 |
1326 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1291 |
1327 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1328 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1329 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1330 |
+ |
text-underline:none'> PAGEREF _Toc376966596 \h </span><span style='color:windowtext; |
|
1331 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1332 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
1294 |
1333 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1295 |
|
- |
text-underline:none'>4<!--[if gte mso 9]><xml> |
1296 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330031000000</w:data> |
|
1334 |
+ |
text-underline:none'>4</span><span style='color:windowtext;display:none; |
|
1335 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1336 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003500390036000000</w:data> |
1297 |
1337 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1298 |
1338 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1299 |
1339 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1303,16 +1343,20 @@ |
1303 |
1343 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1304 |
1344 |
|
|
1305 |
1345 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1306 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578032"><span |
|
1346 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966597"><span |
1307 |
1347 |
|
style='mso-bidi-font-style:italic'>Task 4: Activate the Remote Database Proxy |
1308 |
1348 |
|
Service</span><span style='color:windowtext;display:none;mso-hide:screen; |
1309 |
1349 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1310 |
1350 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
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 _Toc376966597 \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 |
1313 |
1356 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1314 |
|
- |
text-underline:none'>4<!--[if gte mso 9]><xml> |
1315 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330032000000</w:data> |
|
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> |
|
1359 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003500390037000000</w:data> |
1316 |
1360 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1317 |
1361 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1318 |
1362 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1322,15 +1366,19 @@ |
1322 |
1366 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1323 |
1367 |
|
|
1324 |
1368 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1325 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578033">Logging |
|
1369 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966598">Logging |
1326 |
1370 |
|
into Connection<span style='color:windowtext;display:none;mso-hide:screen; |
1327 |
1371 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1328 |
1372 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1373 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1331 |
1374 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1332 |
|
- |
text-underline:none'>4<!--[if gte mso 9]><xml> |
1333 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330033000000</w:data> |
|
1375 |
+ |
text-underline:none'> PAGEREF _Toc376966598 \h </span><span style='color:windowtext; |
|
1376 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1377 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1378 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1379 |
+ |
text-underline:none'>5</span><span style='color:windowtext;display:none; |
|
1380 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1381 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003500390038000000</w:data> |
1334 |
1382 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1335 |
1383 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1336 |
1384 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1340,15 +1388,19 @@ |
1340 |
1388 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1341 |
1389 |
|
|
1342 |
1390 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1343 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578034">The |
|
1391 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966599">The |
1344 |
1392 |
|
DbFetchResult Class<span style='color:windowtext;display:none;mso-hide:screen; |
1345 |
1393 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1346 |
1394 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1395 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1396 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1397 |
+ |
text-underline:none'> PAGEREF _Toc376966599 \h </span><span style='color:windowtext; |
|
1398 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1399 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
1349 |
1400 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1350 |
|
- |
text-underline:none'>5<!--[if gte mso 9]><xml> |
1351 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330034000000</w:data> |
|
1401 |
+ |
text-underline:none'>5</span><span style='color:windowtext;display:none; |
|
1402 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1403 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003500390039000000</w:data> |
1352 |
1404 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1353 |
1405 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1354 |
1406 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1358,16 +1410,20 @@ |
1358 |
1410 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1359 |
1411 |
|
|
1360 |
1412 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1361 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578035">Logging |
|
1413 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966600">Logging |
1362 |
1414 |
|
and Debugging with the SDK<span style='color:windowtext;display:none; |
1363 |
1415 |
|
mso-hide:screen;text-decoration:none;text-underline:none'><span |
1364 |
1416 |
|
style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1365 |
1417 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1418 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1368 |
1419 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1369 |
|
- |
text-underline:none'>5<!--[if gte mso 9]><xml> |
1370 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330035000000</w:data> |
|
1420 |
+ |
text-underline:none'> PAGEREF _Toc376966600 \h </span><span style='color:windowtext; |
|
1421 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1422 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1423 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1424 |
+ |
text-underline:none'>5</span><span style='color:windowtext;display:none; |
|
1425 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1426 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600300030000000</w:data> |
1371 |
1427 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1372 |
1428 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1373 |
1429 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1377,15 +1433,19 @@ |
1377 |
1433 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1378 |
1434 |
|
|
1379 |
1435 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1380 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578036">CUDLI |
|
1436 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966601">CUDLI |
1381 |
1437 |
|
Is Your Friend<span style='color:windowtext;display:none;mso-hide:screen; |
1382 |
1438 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1383 |
1439 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1440 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1441 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1442 |
+ |
text-underline:none'> PAGEREF _Toc376966601 \h </span><span style='color:windowtext; |
|
1443 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1444 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
1386 |
1445 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1387 |
|
- |
text-underline:none'>6<!--[if gte mso 9]><xml> |
1388 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330036000000</w:data> |
|
1446 |
+ |
text-underline:none'>6</span><span style='color:windowtext;display:none; |
|
1447 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1448 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600300031000000</w:data> |
1389 |
1449 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1390 |
1450 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1391 |
1451 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1395,15 +1455,19 @@ |
1395 |
1455 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1396 |
1456 |
|
|
1397 |
1457 |
|
<p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span |
1398 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578037">Fetching |
|
1458 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966602">Fetching |
1399 |
1459 |
|
Data<span style='color:windowtext;display:none;mso-hide:screen;text-decoration: |
1400 |
1460 |
|
none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1401 |
1461 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1462 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1404 |
1463 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1405 |
|
- |
text-underline:none'>6<!--[if gte mso 9]><xml> |
1406 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330037000000</w:data> |
|
1464 |
+ |
text-underline:none'> PAGEREF _Toc376966602 \h </span><span style='color:windowtext; |
|
1465 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1466 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1467 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1468 |
+ |
text-underline:none'>6</span><span style='color:windowtext;display:none; |
|
1469 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1470 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600300032000000</w:data> |
1407 |
1471 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1408 |
1472 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1409 |
1473 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1413,16 +1477,19 @@ |
1413 |
1477 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1414 |
1478 |
|
|
1415 |
1479 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1416 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578038">Data |
|
1480 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966603">Data |
1417 |
1481 |
|
Tables and Data Readers<span style='color:windowtext;display:none;mso-hide: |
1418 |
1482 |
|
screen;text-decoration:none;text-underline:none'><span style='mso-tab-count: |
1419 |
1483 |
|
1 dotted'>. </span></span><!--[if supportFields]><span style='color:windowtext; |
1420 |
1484 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1421 |
|
- |
style='mso-element:field-begin'></span> PAGEREF _Toc366578038 \h <span |
1422 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1423 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1424 |
|
- |
text-underline:none'>6<!--[if gte mso 9]><xml> |
1425 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330038000000</w:data> |
|
1485 |
+ |
style='mso-element:field-begin'></span></span><span style='color:windowtext; |
|
1486 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'> PAGEREF |
|
1487 |
+ |
_Toc376966603 \h </span><span style='color:windowtext;display:none;mso-hide: |
|
1488 |
+ |
screen;text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span |
|
1489 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1490 |
+ |
text-underline:none'>6</span><span style='color:windowtext;display:none; |
|
1491 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1492 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600300033000000</w:data> |
1426 |
1493 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1427 |
1494 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1428 |
1495 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1432,15 +1499,19 @@ |
1432 |
1499 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1433 |
1500 |
|
|
1434 |
1501 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1435 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578039">Filling |
|
1502 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966604">Filling |
1436 |
1503 |
|
a Data Table<span style='color:windowtext;display:none;mso-hide:screen; |
1437 |
1504 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1438 |
1505 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1506 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1441 |
1507 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1442 |
|
- |
text-underline:none'>7<!--[if gte mso 9]><xml> |
1443 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000330039000000</w:data> |
|
1508 |
+ |
text-underline:none'> PAGEREF _Toc376966604 \h </span><span style='color:windowtext; |
|
1509 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1510 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1511 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1512 |
+ |
text-underline:none'>7</span><span style='color:windowtext;display:none; |
|
1513 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1514 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600300034000000</w:data> |
1444 |
1515 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1445 |
1516 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1446 |
1517 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1450,15 +1521,19 @@ |
1450 |
1521 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1451 |
1522 |
|
|
1452 |
1523 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1453 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578040">Getting |
|
1524 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966605">Getting |
1454 |
1525 |
|
a Count<span style='color:windowtext;display:none;mso-hide:screen;text-decoration: |
1455 |
1526 |
|
none;text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span |
1456 |
1527 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1528 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1459 |
1529 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1460 |
|
- |
text-underline:none'>8<!--[if gte mso 9]><xml> |
1461 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340030000000</w:data> |
|
1530 |
+ |
text-underline:none'> PAGEREF _Toc376966605 \h </span><span style='color:windowtext; |
|
1531 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1532 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1533 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1534 |
+ |
text-underline:none'>8</span><span style='color:windowtext;display:none; |
|
1535 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1536 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600300035000000</w:data> |
1462 |
1537 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1463 |
1538 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1464 |
1539 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1468,15 +1543,19 @@ |
1468 |
1543 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1469 |
1544 |
|
|
1470 |
1545 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1471 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578041">Getting |
|
1546 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966606">Getting |
1472 |
1547 |
|
a Single Value<span style='color:windowtext;display:none;mso-hide:screen; |
1473 |
1548 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1474 |
1549 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1550 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1477 |
1551 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1478 |
|
- |
text-underline:none'>8<!--[if gte mso 9]><xml> |
1479 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340031000000</w:data> |
|
1552 |
+ |
text-underline:none'> PAGEREF _Toc376966606 \h </span><span style='color:windowtext; |
|
1553 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1554 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1555 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1556 |
+ |
text-underline:none'>8</span><span style='color:windowtext;display:none; |
|
1557 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1558 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600300036000000</w:data> |
1480 |
1559 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1481 |
1560 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1482 |
1561 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1486,15 +1565,19 @@ |
1486 |
1565 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1487 |
1566 |
|
|
1488 |
1567 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1489 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578042">Filling |
|
1568 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966607">Filling |
1490 |
1569 |
|
a Data Reader<span style='color:windowtext;display:none;mso-hide:screen; |
1491 |
1570 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'> </span></span><!--[if supportFields]><span |
1492 |
1571 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1572 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1573 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1574 |
+ |
text-underline:none'> PAGEREF _Toc376966607 \h </span><span style='color:windowtext; |
|
1575 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1576 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
1495 |
1577 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1496 |
|
- |
text-underline:none'>8<!--[if gte mso 9]><xml> |
1497 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340032000000</w:data> |
|
1578 |
+ |
text-underline:none'>8</span><span style='color:windowtext;display:none; |
|
1579 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1580 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600300037000000</w:data> |
1498 |
1581 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1499 |
1582 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1500 |
1583 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1504,15 +1587,19 @@ |
1504 |
1587 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1505 |
1588 |
|
|
1506 |
1589 |
|
<p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span |
1507 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578043">Stored |
|
1590 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966608">Stored |
1508 |
1591 |
|
Procedure Overview<span style='color:windowtext;display:none;mso-hide:screen; |
1509 |
1592 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1510 |
1593 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1594 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1513 |
1595 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1514 |
|
- |
text-underline:none'>9<!--[if gte mso 9]><xml> |
1515 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340033000000</w:data> |
|
1596 |
+ |
text-underline:none'> PAGEREF _Toc376966608 \h </span><span style='color:windowtext; |
|
1597 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1598 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1599 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1600 |
+ |
text-underline:none'>9</span><span style='color:windowtext;display:none; |
|
1601 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1602 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600300038000000</w:data> |
1516 |
1603 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1517 |
1604 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1518 |
1605 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1522,16 +1609,19 @@ |
1522 |
1609 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1523 |
1610 |
|
|
1524 |
1611 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1525 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578044">Stored |
|
1612 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966609">Stored |
1526 |
1613 |
|
Procedure Naming Strategy<span style='color:windowtext;display:none;mso-hide: |
1527 |
1614 |
|
screen;text-decoration:none;text-underline:none'><span style='mso-tab-count: |
1528 |
1615 |
|
1 dotted'>. </span></span><!--[if supportFields]><span style='color:windowtext; |
1529 |
1616 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1530 |
|
- |
style='mso-element:field-begin'></span> PAGEREF _Toc366578044 \h <span |
1531 |
|
- |
style='mso-element:field-separator'></span></span><![endif]--><span |
1532 |
|
- |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1533 |
|
- |
text-underline:none'>10<!--[if gte mso 9]><xml> |
1534 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340034000000</w:data> |
|
1617 |
+ |
style='mso-element:field-begin'></span></span><span style='color:windowtext; |
|
1618 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'> PAGEREF |
|
1619 |
+ |
_Toc376966609 \h </span><span style='color:windowtext;display:none;mso-hide: |
|
1620 |
+ |
screen;text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span |
|
1621 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1622 |
+ |
text-underline:none'>10</span><span style='color:windowtext;display:none; |
|
1623 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1624 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600300039000000</w:data> |
1535 |
1625 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1536 |
1626 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1537 |
1627 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1541,16 +1631,20 @@ |
1541 |
1631 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1542 |
1632 |
|
|
1543 |
1633 |
|
<p class=MsoToc3 style='tab-stops:right dotted 431.5pt'><span |
1544 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578045">Return |
|
1634 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966610">Return |
1545 |
1635 |
|
Values from Stored Procedures<span style='color:windowtext;display:none; |
1546 |
1636 |
|
mso-hide:screen;text-decoration:none;text-underline:none'><span |
1547 |
1637 |
|
style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1548 |
1638 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1639 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1640 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1641 |
+ |
text-underline:none'> PAGEREF _Toc376966610 \h </span><span style='color:windowtext; |
|
1642 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1643 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
1551 |
1644 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1552 |
|
- |
text-underline:none'>11<!--[if gte mso 9]><xml> |
1553 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340035000000</w:data> |
|
1645 |
+ |
text-underline:none'>10</span><span style='color:windowtext;display:none; |
|
1646 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1647 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600310030000000</w:data> |
1554 |
1648 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1555 |
1649 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1556 |
1650 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1560,15 +1654,19 @@ |
1560 |
1654 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1561 |
1655 |
|
|
1562 |
1656 |
|
<p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span |
1563 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578046">Changing |
|
1657 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966611">Changing |
1564 |
1658 |
|
Database Focus<span style='color:windowtext;display:none;mso-hide:screen; |
1565 |
1659 |
|
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1566 |
1660 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1661 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1569 |
1662 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1570 |
|
- |
text-underline:none'>12<!--[if gte mso 9]><xml> |
1571 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340036000000</w:data> |
|
1663 |
+ |
text-underline:none'> PAGEREF _Toc376966611 \h </span><span style='color:windowtext; |
|
1664 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1665 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1666 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1667 |
+ |
text-underline:none'>12</span><span style='color:windowtext;display:none; |
|
1668 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1669 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600310031000000</w:data> |
1572 |
1670 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1573 |
1671 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1574 |
1672 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1578,15 +1676,64 @@ |
1578 |
1676 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1579 |
1677 |
|
|
1580 |
1678 |
|
<p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span |
1581 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578047">Examples<span |
|
1679 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966612">Checking |
|
1680 |
+ |
Connection Version<span style='color:windowtext;display:none;mso-hide:screen; |
|
1681 |
+ |
text-decoration:none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1582 |
1682 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1583 |
|
- |
text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
|
1683 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1684 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1685 |
+ |
text-underline:none'> PAGEREF _Toc376966612 \h </span><span style='color:windowtext; |
|
1686 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1687 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
|
1688 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1689 |
+ |
text-underline:none'>12</span><span style='color:windowtext;display:none; |
|
1690 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1691 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600310032000000</w:data> |
|
1692 |
+ |
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
|
1693 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1694 |
+ |
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
1695 |
+ |
style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font: |
|
1696 |
+ |
minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font: |
|
1697 |
+ |
minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman"; |
|
1698 |
+ |
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
|
1699 |
+ |
|
|
1700 |
+ |
<p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span |
|
1701 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966613">Checking |
|
1702 |
+ |
for Extension Conflicts<span style='color:windowtext;display:none;mso-hide: |
|
1703 |
+ |
screen;text-decoration:none;text-underline:none'><span style='mso-tab-count: |
|
1704 |
+ |
1 dotted'>. </span></span><!--[if supportFields]><span style='color:windowtext; |
|
1705 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1706 |
+ |
style='mso-element:field-begin'></span></span><span style='color:windowtext; |
|
1707 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'> PAGEREF |
|
1708 |
+ |
_Toc376966613 \h </span><span style='color:windowtext;display:none;mso-hide: |
|
1709 |
+ |
screen;text-decoration:none;text-underline:none'><span style='mso-element:field-separator'></span></span><![endif]--><span |
|
1710 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1711 |
+ |
text-underline:none'>12</span><span style='color:windowtext;display:none; |
|
1712 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1713 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600310033000000</w:data> |
|
1714 |
+ |
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
|
1715 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1716 |
+ |
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
1717 |
+ |
style='font-size:11.0pt;font-family:"Calibri","sans-serif";mso-ascii-theme-font: |
|
1718 |
+ |
minor-latin;mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font: |
|
1719 |
+ |
minor-fareast;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:"Times New Roman"; |
|
1720 |
+ |
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
|
1721 |
+ |
|
|
1722 |
+ |
<p class=MsoToc2 style='tab-stops:right dotted 431.5pt'><span |
|
1723 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966614">Finding |
|
1724 |
+ |
Objects by Name, Extension and/or Alias<span style='color:windowtext; |
|
1725 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1726 |
+ |
style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
|
1727 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1728 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
1584 |
1729 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1730 |
+ |
text-underline:none'> PAGEREF _Toc376966614 \h </span><span style='color:windowtext; |
|
1731 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1732 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
1587 |
1733 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1588 |
|
- |
text-underline:none'>13<!--[if gte mso 9]><xml> |
1589 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340037000000</w:data> |
|
1734 |
+ |
text-underline:none'>13</span><span style='color:windowtext;display:none; |
|
1735 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1736 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600310034000000</w:data> |
1590 |
1737 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1591 |
1738 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1592 |
1739 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1596,15 +1743,19 @@ |
1596 |
1743 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1597 |
1744 |
|
|
1598 |
1745 |
|
<p class=MsoToc1 style='tab-stops:right dotted 431.5pt'><span |
1599 |
|
- |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc366578048">Revision |
|
1746 |
+ |
class=MsoHyperlink><span style='mso-no-proof:yes'><a href="#_Toc376966615">Revision |
1600 |
1747 |
|
History<span style='color:windowtext;display:none;mso-hide:screen;text-decoration: |
1601 |
1748 |
|
none;text-underline:none'><span style='mso-tab-count:1 dotted'>. </span></span><!--[if supportFields]><span |
1602 |
1749 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
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 |
|
1750 |
+ |
text-underline:none'><span style='mso-element:field-begin'></span></span><span |
|
1751 |
+ |
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
|
1752 |
+ |
text-underline:none'> PAGEREF _Toc376966615 \h </span><span style='color:windowtext; |
|
1753 |
+ |
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
|
1754 |
+ |
style='mso-element:field-separator'></span></span><![endif]--><span |
1605 |
1755 |
|
style='color:windowtext;display:none;mso-hide:screen;text-decoration:none; |
1606 |
|
- |
text-underline:none'>13<!--[if gte mso 9]><xml> |
1607 |
|
- |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300360036003500370038003000340038000000</w:data> |
|
1756 |
+ |
text-underline:none'>13</span><span style='color:windowtext;display:none; |
|
1757 |
+ |
mso-hide:screen;text-decoration:none;text-underline:none'><!--[if gte mso 9]><xml> |
|
1758 |
+ |
<w:data>08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003300370036003900360036003600310035000000</w:data> |
1608 |
1759 |
|
</xml><![endif]--></span><!--[if supportFields]><span style='color:windowtext; |
1609 |
1760 |
|
display:none;mso-hide:screen;text-decoration:none;text-underline:none'><span |
1610 |
1761 |
|
style='mso-element:field-end'></span></span><![endif]--></a></span></span><span |
|
@@ -1614,17 +1765,17 @@ |
1614 |
1765 |
|
mso-bidi-theme-font:minor-bidi;mso-no-proof:yes'><o:p></o:p></span></p> |
1615 |
1766 |
|
|
1616 |
1767 |
|
<h1><!--[if supportFields]><span style='mso-element:field-end'></span><![endif]--><a |
1617 |
|
- |
name="_Toc366578022"></a><a name="_Toc534430892"><span style='mso-bookmark: |
1618 |
|
- |
_Toc366578022'>Overvie</span></a><span style='mso-bookmark:_Toc366578022'>w</span></h1> |
|
1768 |
+ |
name="_Toc376966587"></a><a name="_Toc534430892"><span style='mso-bookmark: |
|
1769 |
+ |
_Toc376966587'>Overvie</span></a><span style='mso-bookmark:_Toc376966587'>w</span></h1> |
1619 |
1770 |
|
|
1620 |
1771 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The .NET SDK library for the |
1621 |
1772 |
|
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> |
|
1773 |
+ |
development of applications for Unity Connection in the .NET framework easier, |
|
1774 |
+ |
faster and less error prone.<span style='mso-spacerun:yes'> </span>While |
|
1775 |
+ |
it does require you have IBM’s Informix Client SDK installed for typical |
|
1776 |
+ |
projects you do not need to include the IBM Informix class library in your |
|
1777 |
+ |
project – you can do everything you need to do with the simple methods |
|
1778 |
+ |
exposed off the SDK and the build in data tables and types available in .NET.<o:p></o:p></span></p> |
1628 |
1779 |
|
|
1629 |
1780 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The idea is not just to |
1630 |
1781 |
|
simplify the interaction with the Informix client libraries (which is certainly |
|
@@ -1633,13 +1784,13 @@ |
1633 |
1784 |
|
style='mso-spacerun:yes'> </span>This is the same library used internally |
1634 |
1785 |
|
by the Unity Connection tools team for developing many of its applications that |
1635 |
1786 |
|
interact with Unity Connection via ODBC.<span style='mso-spacerun:yes'> |
1636 |
|
- |
</span>Coupled with the REST SDKs already available <span class=GramE>the |
1637 |
|
- |
provide</span> a powerful toolset for just about any application type you wish |
1638 |
|
- |
to create against Connection.<o:p></o:p></span></p> |
1639 |
|
- |
|
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 |
|
1787 |
+ |
</span>Coupled with the REST SDKs already available they provide a powerful |
|
1788 |
+ |
toolset for just about any application type you wish to create against |
|
1789 |
+ |
Connection.<o:p></o:p></span></p> |
|
1790 |
+ |
|
|
1791 |
+ |
<h1><a name="_Toc376966588"></a><a name="_Toc24010850"></a><a name="_Toc6476430"></a><a |
|
1792 |
+ |
name="_Toc534430893"><span style='mso-bookmark:_Toc6476430'><span |
|
1793 |
+ |
style='mso-bookmark:_Toc24010850'><span style='mso-bookmark:_Toc376966588'>Requirements/Special |
1643 |
1794 |
|
Notes</span></span></span></a></h1> |
1644 |
1795 |
|
|
1645 |
1796 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The .NET ODBC SDK is written |
|
@@ -1656,7 +1807,9 @@ |
1656 |
1807 |
|
href="http://www.CiscoUnityTools.com">www.CiscoUnityTools.com</a> site on the |
1657 |
1808 |
|
“links” page for current links to get to those forums.<span |
1658 |
1809 |
|
style='mso-spacerun:yes'> </span>“Not supported by TAC” does |
1659 |
|
- |
not mean the SDK is somehow dangerous or risky to use.<o:p></o:p></span></p> |
|
1810 |
+ |
not mean the SDK is somehow dangerous or risky to use.<span |
|
1811 |
+ |
style='mso-spacerun:yes'> </span>The ODBC interface has been around for |
|
1812 |
+ |
many years and is not going anywhere.<o:p></o:p></span></p> |
1660 |
1813 |
|
|
1661 |
1814 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Any .NET framework can use |
1662 |
1815 |
|
these libraries. This means you can, of course, develop desktop and web |
|
@@ -1668,15 +1821,16 @@ |
1668 |
1821 |
|
– which may happen if there’s demand, currently testing is limited |
1669 |
1822 |
|
to Windows platforms only.<o:p></o:p></span></p> |
1670 |
1823 |
|
|
1671 |
|
- |
<h1><a name="_Toc366578024">Why ODBC, Isn’t That Going Away?</a></h1> |
|
1824 |
+ |
<h1><a name="_Toc376966589">Why ODBC, Isn’t That Going Away?</a></h1> |
1672 |
1825 |
|
|
1673 |
1826 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>I get this one all the time so |
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> |
|
1827 |
+ |
let me just address it here. There are a number of very good reasons for doing |
|
1828 |
+ |
applications that use direct ODBC access and Unity Connection will continue to |
|
1829 |
+ |
support ODBC via the proxy service into the future.<span |
|
1830 |
+ |
style='mso-spacerun:yes'> </span>There are no plans to deprecate this |
|
1831 |
+ |
service and in fact with the Unity Connection 10.0 the service is being made |
|
1832 |
+ |
easier to setup (fewer steps) and the service now stays on forever with no shut |
|
1833 |
+ |
down timer.<o:p></o:p></span></p> |
1680 |
1834 |
|
|
1681 |
1835 |
|
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span |
1682 |
1836 |
|
style='font-size:8.0pt'>Reason number 1</span></b><span style='font-size:8.0pt'> |
|
@@ -1690,12 +1844,12 @@ |
1690 |
1844 |
|
style='font-size:8.0pt'>Reason number 2</span></b><span style='font-size:8.0pt'> |
1691 |
1845 |
|
is that REST does not provide complete coverage for all administrative tasks |
1692 |
1846 |
|
and data.<span style='mso-spacerun:yes'> </span>With the release of 10.0 |
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 |
1696 |
|
- |
case” items not exposed via REST.<span style='mso-spacerun:yes'> |
1697 |
|
- |
</span>ODBC is, by definition, always complete since the administration and |
1698 |
|
- |
back end features are built using the views and stored procedures exposed.<span |
|
1847 |
+ |
the REST APIs for Connection have taken huge strides and the API is |
|
1848 |
+ |
considerably more complete and robust providing access to the vast majority of |
|
1849 |
+ |
what administrators need, there are still “corner case” items not |
|
1850 |
+ |
exposed via REST.<span style='mso-spacerun:yes'> </span>ODBC is, by |
|
1851 |
+ |
definition, always complete since the administration and back end features are |
|
1852 |
+ |
built using the views and stored procedures exposed.<span |
1699 |
1853 |
|
style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
1700 |
1854 |
|
|
1701 |
1855 |
|
<p class=MsoNormal><b style='mso-bidi-font-weight:normal'><span |
|
@@ -1728,10 +1882,10 @@ |
1728 |
1882 |
|
converted into a text representation of JSON or XML, sent across, the receiving |
1729 |
1883 |
|
party parses it out and converts it back into a dictionary or class instance (a |
1730 |
1884 |
|
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> |
|
1885 |
+ |
“deserialization”).<span style='mso-spacerun:yes'> |
|
1886 |
+ |
</span>This is always going to be slower than sending a well formed SQL query |
|
1887 |
+ |
via ODBC and getting a dataset or record set back (I’ll explain the |
|
1888 |
+ |
difference between these later).<o:p></o:p></span></p> |
1735 |
1889 |
|
|
1736 |
1890 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The other thing that tends to |
1737 |
1891 |
|
throttle REST based API is the REST philosophy of working with |
|
@@ -1743,8 +1897,8 @@ |
1743 |
1897 |
|
much about the overall object model up front, you can “drill down” |
1744 |
1898 |
|
to what you need at the object level and part of the results will have URIs to |
1745 |
1899 |
|
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 |
|
1900 |
+ |
style='mso-spacerun:yes'> </span>For instance when you fetch a user as |
|
1901 |
+ |
part of the result set you get a URI to go get the greetings or transfer rules |
1748 |
1902 |
|
associated with that user.<o:p></o:p></span></p> |
1749 |
1903 |
|
|
1750 |
1904 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>That last bit is part of the |
|
@@ -1754,8 +1908,8 @@ |
1754 |
1908 |
|
find the <span class=SpellE>ObjectIds</span> (unique identifiers) for all the |
1755 |
1909 |
|
transfer rules I want to update in one SQL query and then simply loop through |
1756 |
1910 |
|
them calling a stored procedure to update the transfer rules behavior one at a |
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 |
|
1911 |
+ |
time (yes, you could just do a direct table update but then you’d be an |
|
1912 |
+ |
evil hack who needs to step away from the keyboard immediately).<span |
1759 |
1913 |
|
style='mso-spacerun:yes'> </span>In REST you need to get the list of |
1760 |
1914 |
|
users associated with the COS which sends a lot of data by itself, then you |
1761 |
1915 |
|
need to fetch the URI for the standard transfer rule for each user one at a |
|
@@ -1783,8 +1937,7 @@ |
1783 |
1937 |
|
style='mso-spacerun:yes'> </span>But when you need to move a lot of data |
1784 |
1938 |
|
fast, it simply cannot be beat.<o:p></o:p></span></p> |
1785 |
1939 |
|
|
1786 |
|
- |
<h1><a name="_Toc366578025">Won’t ODBC Projects Break With Every New |
1787 |
|
- |
Release?</a></h1> |
|
1940 |
+ |
<h1><a name="_Toc376966590">Won’t ODBC Projects Break With Every New Release?</a></h1> |
1788 |
1941 |
|
|
1789 |
1942 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>This is the 2<sup>nd</sup> |
1790 |
1943 |
|
most common question I get and I just want to address it in its own section |
|
@@ -1811,9 +1964,7 @@ |
1811 |
1964 |
|
perhaps 2 instances) the item is always just deprecated in the data dictionary, |
1812 |
1965 |
|
it’s not actually removed from the table definition itself.<o:p></o:p></span></p> |
1813 |
1966 |
|
|
1814 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
1815 |
|
- |
|
1816 |
|
- |
<h1><a name="_Toc366578026">Installing and Using the Library in Your Project</a></h1> |
|
1967 |
+ |
<h1><a name="_Toc376966591">Installing and Using the Library in Your Project</a></h1> |
1817 |
1968 |
|
|
1818 |
1969 |
|
<p class=Default><b><span style='font-size:11.5pt'>The Easy Way </span></b><span |
1819 |
1970 |
|
style='font-size:11.5pt'><o:p></o:p></span></p> |
|
@@ -1831,7 +1982,7 @@ |
1831 |
1982 |
|
<p class=Default><span class=SpellE><span style='font-size:8.0pt'>NuGet</span></span><span |
1832 |
1983 |
|
style='font-size:8.0pt'> is nice since it always grabs the latest and notifies |
1833 |
1984 |
|
you when an updated version of the library is available and gives you the |
1834 |
|
- |
option of installing it. <span class=GramE>Couldn’t be easier.</span> <o:p></o:p></span></p> |
|
1985 |
+ |
option of installing it. It couldn’t be easier. <o:p></o:p></span></p> |
1835 |
1986 |
|
|
1836 |
1987 |
|
<p class=Default><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
1837 |
1988 |
|
|
|
@@ -1863,9 +2014,10 @@ |
1863 |
2014 |
|
Project” and a file explorer window will appear. Navigate to where you |
1864 |
2015 |
|
downloaded the library code and select the “<span class=SpellE>CiscoUnityConnectionServerOdbc.csproj</span>” |
1865 |
2016 |
|
file. This will pull the library into your solution and have it build when you |
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> |
|
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> |
1869 |
2021 |
|
|
1870 |
2022 |
|
<p class=Default><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
1871 |
2023 |
|
|
|
@@ -1886,8 +2038,8 @@ |
1886 |
2038 |
|
Framework 4” setting. Be sure your project is configured for this or |
1887 |
2039 |
|
you’ll get build errors.</span></p> |
1888 |
2040 |
|
|
1889 |
|
- |
<h1><a name="_Toc366578027"></a><a name="_Watching_the_traffic"></a><span |
1890 |
|
- |
style='mso-bookmark:_Toc366578027'>Using the .NET ODBC SDK</span></h1> |
|
2041 |
+ |
<h1><a name="_Toc376966592"></a><a name="_Watching_the_traffic"></a><span |
|
2042 |
+ |
style='mso-bookmark:_Toc376966592'>Using the .NET ODBC SDK</span></h1> |
1891 |
2043 |
|
|
1892 |
2044 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>This document uses a |
1893 |
2045 |
|
“task based” approach to demonstrating the use of the library |
|
@@ -1900,7 +2052,7 @@ |
1900 |
2052 |
|
with a simple “show me” approach so that’s what I endeavor to |
1901 |
2053 |
|
do here.<o:p></o:p></span></p> |
1902 |
2054 |
|
|
1903 |
|
- |
<h2 style='tab-stops:110.8pt'><a name="_Toc366578028">Getting Started</a></h2> |
|
2055 |
+ |
<h2 style='tab-stops:110.8pt'><a name="_Toc376966593">Getting Started</a></h2> |
1904 |
2056 |
|
|
1905 |
2057 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>To attach to Unity Connection |
1906 |
2058 |
|
from you Windows client you need to make sure you have:<o:p></o:p></span></p> |
|
@@ -1908,18 +2060,24 @@ |
1908 |
2060 |
|
<p class=MsoListParagraphCxSpFirst style='text-indent:-.25in;mso-list:l3 level1 lfo2'><![if !supportLists]><span |
1909 |
2061 |
|
style='font-size:8.0pt;mso-fareast-font-family:Arial;mso-bidi-font-family:Arial'><span |
1910 |
2062 |
|
style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'> |
1911 |
|
- |
</span></span></span><![endif]><span style='font-size:8.0pt'>The proxy service |
1912 |
|
- |
turned on<o:p></o:p></span></p> |
|
2063 |
+ |
</span></span></span><![endif]><span style='font-size:8.0pt'>The IBM Client SDK |
|
2064 |
+ |
needs to be installed (at least the ADO .NET driver at a minimum)<o:p></o:p></span></p> |
1913 |
2065 |
|
|
1914 |
2066 |
|
<p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l3 level1 lfo2'><![if !supportLists]><span |
1915 |
2067 |
|
style='font-size:8.0pt;mso-fareast-font-family:Arial;mso-bidi-font-family:Arial'><span |
1916 |
2068 |
|
style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'> |
|
2069 |
+ |
</span></span></span><![endif]><span style='font-size:8.0pt'>The database proxy |
|
2070 |
+ |
service turned on<o:p></o:p></span></p> |
|
2071 |
+ |
|
|
2072 |
+ |
<p class=MsoListParagraphCxSpMiddle style='text-indent:-.25in;mso-list:l3 level1 lfo2'><![if !supportLists]><span |
|
2073 |
+ |
style='font-size:8.0pt;mso-fareast-font-family:Arial;mso-bidi-font-family:Arial'><span |
|
2074 |
+ |
style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'> |
1917 |
2075 |
|
</span></span></span><![endif]><span style='font-size:8.0pt'>An account |
1918 |
2076 |
|
configured with the remote administrator role<o:p></o:p></span></p> |
1919 |
2077 |
|
|
1920 |
2078 |
|
<p class=MsoListParagraphCxSpLast style='text-indent:-.25in;mso-list:l3 level1 lfo2'><![if !supportLists]><span |
1921 |
2079 |
|
style='font-size:8.0pt;mso-fareast-font-family:Arial;mso-bidi-font-family:Arial'><span |
1922 |
|
- |
style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'> |
|
2080 |
+ |
style='mso-list:Ignore'>4.<span style='font:7.0pt "Times New Roman"'> |
1923 |
2081 |
|
</span></span></span><![endif]><span style='font-size:8.0pt'>Port 20532 needs |
1924 |
2082 |
|
to be open between your client and the Unity Connection server.<span |
1925 |
2083 |
|
style='mso-spacerun:yes'> </span>All communication via ODBC goes across |
|
@@ -1929,7 +2087,7 @@ |
1929 |
2087 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The following 4 tasks need to |
1930 |
2088 |
|
be done.<o:p></o:p></span></p> |
1931 |
2089 |
|
|
1932 |
|
- |
<h3><a name="_Toc359835382"></a><a name="_Toc366578029"><span style='mso-bookmark: |
|
2090 |
+ |
<h3><a name="_Toc359835382"></a><a name="_Toc376966594"><span style='mso-bookmark: |
1933 |
2091 |
|
_Toc359835382'><span style='font-size:8.0pt;color:black;font-style:normal; |
1934 |
2092 |
|
mso-bidi-font-style:italic'>Task 1: Install the IBM Informix Client SDK.</span></span></a><span |
1935 |
2093 |
|
style='mso-bookmark:_Toc359835382'><span style='font-size:8.0pt;color:black; |
|
@@ -1962,10 +2120,10 @@ |
1962 |
2120 |
|
you will not experience any increase in speed or really any other advantage |
1963 |
2121 |
|
which is one of the reasons we keep our tools simple with 32 bit only.<o:p></o:p></span></span></p> |
1964 |
2122 |
|
|
1965 |
|
- |
<h3><span style='mso-bookmark:_Toc359835382'><a name="_Toc366578030"><span |
|
2123 |
+ |
<h3><span style='mso-bookmark:_Toc359835382'><a name="_Toc376966595"><span |
1966 |
2124 |
|
style='font-size:8.0pt;color:black;font-style:normal;mso-bidi-font-style:italic'>Task |
1967 |
2125 |
|
2: Configure a User with the Remote Administrator and System Administrator |
1968 |
|
- |
roles</span></a></span><span style='mso-bookmark:_Toc366578030'></span><span |
|
2126 |
+ |
roles</span></a></span><span style='mso-bookmark:_Toc376966595'></span><span |
1969 |
2127 |
|
style='mso-bookmark:_Toc359835382'></span><span style='font-size:8.0pt; |
1970 |
2128 |
|
color:black;mso-bidi-font-style:italic'><o:p></o:p></span></h3> |
1971 |
2129 |
|
|
|
@@ -2013,42 +2171,39 @@ |
2013 |
2171 |
|
updates to users those two are necessary.<o:p></o:p></span></p> |
2014 |
2172 |
|
|
2015 |
2173 |
|
<h3 style='orphans: auto;text-align:start;widows: auto;-webkit-text-stroke-width: 0px; |
2016 |
|
- |
word-spacing:0px'><a name="_Toc366578031"></a><a name="_Toc359835383"></a><a |
2017 |
|
- |
name="_Toc239124999"></a><span style='mso-bookmark:_Toc366578031'><span |
|
2174 |
+ |
word-spacing:0px'><a name="_Toc376966596"></a><a name="_Toc359835383"></a><a |
|
2175 |
+ |
name="_Toc239124999"></a><span style='mso-bookmark:_Toc376966596'><span |
2018 |
2176 |
|
style='mso-bookmark:_Toc359835383'><span style='font-size:8.0pt;color:black; |
2019 |
2177 |
|
font-style:normal;mso-bidi-font-style:italic'>Task 3: Set the Database Proxy |
2020 |
2178 |
|
Service Shutdown Time</span></span></span><span style='mso-bookmark:_Toc359835383'></span><span |
2021 |
|
- |
style='mso-bookmark:_Toc366578031'></span><span style='font-size:8.0pt; |
|
2179 |
+ |
style='mso-bookmark:_Toc376966596'></span><span style='font-size:8.0pt; |
2022 |
2180 |
|
color:black;mso-bidi-font-style:italic'><o:p></o:p></span></h3> |
2023 |
2181 |
|
|
2024 |
2182 |
|
<p class=MsoNormal style='margin-left:.5in;orphans: auto;text-align:start; |
2025 |
|
- |
widows: auto;-webkit-text-stroke-width: 0px;word-spacing:0px'><span |
2026 |
|
- |
style='font-size:8.0pt;mso-bidi-font-family:Arial;color:black'>Out of the box |
2027 |
|
- |
the database proxy service is not running and if you try to start the service |
2028 |
|
- |
it will shut down right away. <span class=apple-converted-space> </span>First |
2029 |
|
- |
you need to set the “Database Proxy: Service Shutdown Timer” value |
2030 |
|
- |
found in the System Settings -> Advanced -> Connection Administration |
2031 |
|
- |
section of the Cisco Unity Connection Administration page. <span |
|
2183 |
+ |
widows: auto;-webkit-text-stroke-width: 0px;word-spacing:0px'><b><span |
|
2184 |
+ |
style='font-size:8.0pt;mso-bidi-font-family:Arial;color:red'>NOTE</span></b><span |
|
2185 |
+ |
style='font-size:8.0pt;mso-bidi-font-family:Arial;color:black'>: If you are |
|
2186 |
+ |
running Unity Connection 10.0 there is no shutdown time, this step is not necessary.<o:p></o:p></span></p> |
|
2187 |
+ |
|
|
2188 |
+ |
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:8.0pt; |
|
2189 |
+ |
mso-bidi-font-family:Arial;color:black'>Out of the box the database proxy |
|
2190 |
+ |
service is not running and if you try to start the service it will shut down |
|
2191 |
+ |
right away. <span class=apple-converted-space> </span>First you need |
|
2192 |
+ |
to set the “Database Proxy: Service Shutdown Timer” value found in |
|
2193 |
+ |
the System Settings -> Advanced -> Connection Administration section of |
|
2194 |
+ |
the Cisco Unity Connection Administration page. <span |
2032 |
2195 |
|
class=apple-converted-space> </span>By default this is 0. <span |
2033 |
2196 |
|
class=apple-converted-space> </span>You can set it to as high as 999 days |
2034 |
2197 |
|
if you like. <span class=apple-converted-space> </span>After the |
2035 |
2198 |
|
number of days configured here the remote database proxy service will shut |
2036 |
2199 |
|
down. <span class=apple-converted-space> </span><o:p></o:p></span></p> |
2037 |
2200 |
|
|
2038 |
|
- |
<p class=MsoNormal style='margin-left:.5in;orphans: auto;text-align:start; |
2039 |
|
- |
widows: auto;-webkit-text-stroke-width: 0px;word-spacing:0px'><b><span |
2040 |
|
- |
style='font-size:8.0pt;mso-bidi-font-family:Arial;color:red'>NOTE</span></b><span |
2041 |
|
- |
style='font-size:8.0pt;mso-bidi-font-family:Arial;color:black'>: If you are |
2042 |
|
- |
running Unity Connection 10.0 there is no shutdown time, this step is not |
2043 |
|
- |
necessary.<o:p></o:p></span></p> |
2044 |
|
- |
|
2045 |
|
- |
<h3 style='orphans: auto;text-align:start;widows: auto;-webkit-text-stroke-width: 0px; |
2046 |
|
- |
word-spacing:0px'><a name="_Toc366578032"></a><a name="_Toc359835384"></a><a |
2047 |
|
- |
name="_Toc239125000"></a><span style='mso-bookmark:_Toc366578032'><span |
|
2201 |
+ |
<h3><a name="_Toc376966597"></a><a name="_Toc359835384"></a><a |
|
2202 |
+ |
name="_Toc239125000"></a><span style='mso-bookmark:_Toc376966597'><span |
2048 |
2203 |
|
style='mso-bookmark:_Toc359835384'><span style='font-size:8.0pt;color:black; |
2049 |
2204 |
|
font-style:normal;mso-bidi-font-style:italic'>Task 4: Activate the Remote |
2050 |
2205 |
|
Database Proxy Service</span></span></span><span style='mso-bookmark:_Toc359835384'></span><span |
2051 |
|
- |
style='mso-bookmark:_Toc366578032'></span><span style='font-size:8.0pt; |
|
2206 |
+ |
style='mso-bookmark:_Toc376966597'></span><span style='font-size:8.0pt; |
2052 |
2207 |
|
color:black;mso-bidi-font-style:italic'><o:p></o:p></span></h3> |
2053 |
2208 |
|
|
2054 |
2209 |
|
<p class=MsoNormal style='margin-left:.75in;text-indent:-.25in;orphans: auto; |
|
@@ -2090,15 +2245,15 @@ |
2090 |
2245 |
|
<p class=MsoNormal style='margin-left:.5in;orphans: auto;text-align:start; |
2091 |
2246 |
|
widows: auto;-webkit-text-stroke-width: 0px;word-spacing:0px'><b><span |
2092 |
2247 |
|
style='font-size:8.0pt;mso-bidi-font-family:Arial;color:red'>NOTE</span></b><span |
2093 |
|
- |
style='font-size:8.0pt;mso-bidi-font-family:Arial;color:black'>: The service |
2094 |
|
- |
will automatically shut down after the number of days configured in step 2 |
2095 |
|
- |
above or if you restart the server unless you’re running Unity Connection |
2096 |
|
- |
10.0 or later in which case there is no timer.<o:p></o:p></span></p> |
|
2248 |
+ |
style='font-size:8.0pt;mso-bidi-font-family:Arial;color:black'>: The service will |
|
2249 |
+ |
automatically shut down after the number of days configured in step 2 above or |
|
2250 |
+ |
if you restart the server unless you’re running Unity Connection 10.0 or |
|
2251 |
+ |
later in which case there is no timer.<o:p></o:p></span></p> |
2097 |
2252 |
|
|
2098 |
|
- |
<h3><a name="_Toc366578033"><span class=Heading3Char><span style='font-family: |
|
2253 |
+ |
<h3><a name="_Toc376966598"><span class=Heading3Char><span style='font-family: |
2099 |
2254 |
|
"Arial","sans-serif";mso-fareast-font-family:"Times New Roman";mso-fareast-theme-font: |
2100 |
2255 |
|
minor-fareast;color:black;mso-themecolor:text1;mso-bidi-font-weight:normal'>Logging |
2101 |
|
- |
into Connection</span></span></a><span style='mso-bookmark:_Toc366578033'></span><span |
|
2256 |
+ |
into Connection</span></span></a><span style='mso-bookmark:_Toc376966598'></span><span |
2102 |
2257 |
|
style='color:black;mso-themecolor:text1;font-weight:normal;mso-bidi-font-weight: |
2103 |
2258 |
|
bold'><o:p></o:p></span></h3> |
2104 |
2259 |
|
|
|
@@ -2106,15 +2261,15 @@ |
2106 |
2261 |
|
multiply threaded applications that may be attached to more than one Connection |
2107 |
2262 |
|
server at a time (for instance a network of Connection clusters).<span |
2108 |
2263 |
|
style='mso-spacerun:yes'> </span>As such you can create multiple |
2109 |
|
- |
instances of the <span class=SpellE><b style='mso-bidi-font-weight:normal'>CiscoConnectionServerOdbc</b></span> |
|
2264 |
+ |
instances of the <span class=SpellE><b style='mso-bidi-font-weight:normal'>UnityConnectionServerOdbcSdk</b></span> |
2110 |
2265 |
|
class at the same time.<span style='mso-spacerun:yes'> </span>If you have |
2111 |
2266 |
|
multiple threads acting on a single instance of the class then when building |
2112 |
2267 |
|
and running stored procedures it will be serialized such that one stored |
2113 |
2268 |
|
procedure is built and run at a time.<span style='mso-spacerun:yes'> |
2114 |
|
- |
</span>The SDK hides the complexity from you here and so long as you’re |
2115 |
|
- |
application is reasonably quick about constructing your stored procedure and |
2116 |
|
- |
calling it you should have no problems if multiple threads are all calling |
2117 |
|
- |
stored procedures on a single instance.<o:p></o:p></span></p> |
|
2269 |
+ |
</span>The SDK hides the complexity from you here and so long as your application |
|
2270 |
+ |
is reasonably quick about constructing your stored procedure and calling it you |
|
2271 |
+ |
should have no problems if multiple threads are all calling stored procedures |
|
2272 |
+ |
on a single instance.<o:p></o:p></span></p> |
2118 |
2273 |
|
|
2119 |
2274 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The login sequence using the |
2120 |
2275 |
|
class is a simple <span class=SpellE>two step</span> process that looks like |
|
@@ -2123,18 +2278,17 @@ |
2123 |
2278 |
|
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
2124 |
2279 |
|
|
2125 |
2280 |
|
<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace: |
2126 |
|
- |
none'><span class=SpellE><span style='font-size:8.5pt;font-family:Consolas; |
2127 |
|
- |
color:#2B91AF'>CiscoUnityConnectionServerOdbc</span></span><span |
2128 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> server = <span style='color:blue'>new</span> |
2129 |
|
- |
<span class=SpellE><span class=GramE><span style='color:#2B91AF'>CiscoUnityConnectionServerOdbc</span></span></span><span |
2130 |
|
- |
class=GramE>(</span><o:p></o:p></span></p> |
|
2281 |
+ |
none'><span class=SpellE><span style='font-size:9.5pt;font-family:Consolas; |
|
2282 |
+ |
color:#2B91AF;background:white;mso-highlight:white'>UnityConnectionServerOdbcSdk</span></span><span |
|
2283 |
+ |
style='font-size:9.5pt;font-family:Consolas;color:#2B91AF'> </span><span |
|
2284 |
+ |
style='font-size:8.5pt;font-family:Consolas'>server = <span style='color:blue'>new</span> |
|
2285 |
+ |
<o:p></o:p></span></p> |
2131 |
2286 |
|
|
2132 |
|
- |
<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace: |
2133 |
|
- |
none'><span style='font-size:8.5pt;font-family:Consolas'><span |
2134 |
|
- |
style='mso-spacerun:yes'> </span><span class=GramE><span |
2135 |
|
- |
style='color:blue'>new</span></span> <span class=SpellE><span style='color: |
2136 |
|
- |
#2B91AF'>ConnectionInformixAdoNetDatabaseFunctions</span></span>(<span |
2137 |
|
- |
style='color:#A31515'>"<span class=SpellE>TestApplication</span>"</span>));<o:p></o:p></span></p> |
|
2287 |
+ |
<p class=MsoNormal style='margin-top:0in;text-indent:.5in;mso-layout-grid-align: |
|
2288 |
+ |
none;text-autospace:none'><span class=SpellE><span style='font-size:9.5pt; |
|
2289 |
+ |
font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white'>UnityConnectionServerOdbcSdk</span></span><span |
|
2290 |
+ |
style='font-size:8.5pt;font-family:Consolas'> (<span style='color:#A31515'>"<span |
|
2291 |
+ |
class=SpellE>TestApplication</span>"</span>);<o:p></o:p></span></p> |
2138 |
2292 |
|
|
2139 |
2293 |
|
<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace: |
2140 |
2294 |
|
none'><span style='font-size:8.5pt;font-family:Consolas;color:blue'><o:p> </o:p></span></p> |
|
@@ -2142,9 +2296,10 @@ |
2142 |
2296 |
|
<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace: |
2143 |
2297 |
|
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
2144 |
2298 |
|
font-family:Consolas;color:blue'>var</span></span></span><span |
2145 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> res= <span class=SpellE>server.LoginDatabaseBlocking</span>(<span |
2146 |
|
- |
style='color:#A31515'>"192.168.0.197"</span>, <span style='color: |
2147 |
|
- |
#A31515'>"<span class=SpellE>dbdude</span>"</span>, <span |
|
2299 |
+ |
style='font-size:8.5pt;font-family:Consolas'> res= <span class=SpellE>server.<span |
|
2300 |
+ |
style='font-size:9.5pt;color:black;background:white;mso-highlight:white'>LoginDatabaseBlocking</span></span> |
|
2301 |
+ |
(<span style='color:#A31515'>"192.168.0.197"</span>, <span |
|
2302 |
+ |
style='color:#A31515'>"<span class=SpellE>dbdude</span>"</span>, <span |
2148 |
2303 |
|
style='color:#A31515'>"<span class=SpellE>labPw</span>"</span>);<o:p></o:p></span></p> |
2149 |
2304 |
|
|
2150 |
2305 |
|
<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace: |
|
@@ -2184,55 +2339,39 @@ |
2184 |
2339 |
|
into:"</span><span style='font-size:8.5pt;font-family:Consolas'> + |
2185 |
2340 |
|
server);<span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
2186 |
2341 |
|
|
|
2342 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
|
2343 |
+ |
|
2187 |
2344 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>We’ll look more at the |
2188 |
2345 |
|
return structure from calls into the SDK and general error handling later.<span |
2189 |
2346 |
|
style='mso-spacerun:yes'> </span>The important items to take away here is |
2190 |
|
- |
the server construction line and the use of the <span class=SpellE>LoginDatabaseBlocking</span> |
2191 |
|
- |
call to do the attachment.<o:p></o:p></span></p> |
2192 |
|
- |
|
2193 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>The first line passes a new <span |
2194 |
|
- |
class=SpellE>CoinnectionInforixAdoNetDatabaseFunctions</span> class instance |
2195 |
|
- |
with the “<span class=SpellE>TestApplication</span>” string.<span |
2196 |
|
- |
style='mso-spacerun:yes'> </span>This creates a new database functions |
2197 |
|
- |
interface in the main server class for us and the name there shows up in all |
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> |
2200 |
|
- |
|
2201 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>Why pass in a constructor like |
2202 |
|
- |
that?<span style='mso-spacerun:yes'> </span>Currently it may not look |
2203 |
|
- |
like its necessary but the idea here is so we can support multiple database |
2204 |
|
- |
engines without having to change the interface in the SDK and, by extension, |
2205 |
|
- |
tools created using the SDK will continue to work with alternative database |
2206 |
|
- |
engines or drivers.<span style='mso-spacerun:yes'> </span>For instance we |
2207 |
|
- |
may add support for a <span class=SpellE>ConnectionInformixOdbcDatabaseFunctions</span> |
2208 |
|
- |
constructor there to provide support for the older 16 bit ODBC driver provided |
2209 |
|
- |
by IBM.<span style='mso-spacerun:yes'> </span>Or versions of their driver |
2210 |
|
- |
for Linux or Mac could be included here.<span style='mso-spacerun:yes'> |
2211 |
|
- |
</span>Or, more interestingly, if Unity Connection ever goes to a new database |
2212 |
|
- |
such as <span class=SpellE>PostgreSql</span> for instance, the SDK can be made |
2213 |
|
- |
to wrap client calls cleanly so applications don’t have to know or care |
2214 |
|
- |
about the different drivers and back ends involved.<span |
2215 |
|
- |
style='mso-spacerun:yes'> </span>I’m not saying this will happen |
2216 |
|
- |
(or it won’t), I’m just saying if it does, applications written |
2217 |
|
- |
using the SDK will port forward reasonably easily so long as the basic data model |
2218 |
|
- |
doesn’t change too much.<o:p></o:p></span></p> |
2219 |
|
- |
|
2220 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>In short a little extra |
2221 |
|
- |
complexity up front now can provide a whole lot of value later.<span |
2222 |
|
- |
style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
2223 |
|
- |
|
2224 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>The <span class=SpellE>LoginDatabaseBlocking</span> |
2225 |
|
- |
should be pretty obvious – it’s a blocking call vs. <span |
2226 |
|
- |
class=GramE>a<span style='mso-spacerun:yes'> </span>background</span> |
2227 |
|
- |
call.<span style='mso-spacerun:yes'> </span>We may provide background |
2228 |
|
- |
versions but at this point I doubt it since it’s easy enough to launch |
2229 |
|
- |
your own thread for such things in .NET, particularly in .NET 4.5 which makes |
2230 |
|
- |
this all but trivial. We’ll look at what’s returned by that method |
2231 |
|
- |
(and most methods in the SDK) in the next section.<o:p></o:p></span></p> |
2232 |
|
- |
|
2233 |
|
- |
<h3><a name="_Toc366578034"></a><a name="_The_WebCallResult_Class"></a><span |
2234 |
|
- |
style='mso-bookmark:_Toc366578034'>The <span class=SpellE>DbFetchResult</span> |
2235 |
|
- |
Class</span><span style='mso-bookmark:_Toc366578034'></span><span |
|
2347 |
+ |
the server construction line and the use of the </span><span class=SpellE><span |
|
2348 |
+ |
style='font-size:8.0pt;mso-bidi-font-family:Arial;color:black;background:white; |
|
2349 |
+ |
mso-highlight:white'>LoginDatabaseBlocking</span></span><span style='font-size: |
|
2350 |
+ |
9.5pt;font-family:Consolas;color:black'> </span><span style='font-size:8.0pt'>call |
|
2351 |
+ |
to do the attachment.<o:p></o:p></span></p> |
|
2352 |
+ |
|
|
2353 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>The first line passes the |
|
2354 |
+ |
“<span class=SpellE>TestApplication</span>” string into the |
|
2355 |
+ |
constructor for the main class in the SDK.<span style='mso-spacerun:yes'> |
|
2356 |
+ |
</span>This creates a new database functions interface in the server and the |
|
2357 |
+ |
name there shows up in all Unity Connection audit logs for calls you make via |
|
2358 |
+ |
ODBC – be sure to put a meaningful name in here for diagnostic purposes.<o:p></o:p></span></p> |
|
2359 |
+ |
|
|
2360 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>The </span><span class=SpellE><span |
|
2361 |
+ |
style='font-size:8.0pt;mso-bidi-font-family:Arial;color:black;background:white; |
|
2362 |
+ |
mso-highlight:white'>LoginDatabaseBlocking</span></span><span style='font-size: |
|
2363 |
+ |
9.5pt;font-family:Consolas;color:black'> </span><span style='font-size:8.0pt'>should |
|
2364 |
+ |
be pretty obvious – it’s a blocking call vs. <span class=GramE>a<span |
|
2365 |
+ |
style='mso-spacerun:yes'> </span>background</span> call.<span |
|
2366 |
+ |
style='mso-spacerun:yes'> </span>We may provide background versions but |
|
2367 |
+ |
at this point I doubt it since it’s easy enough to launch your own thread |
|
2368 |
+ |
for such things in .NET, particularly in .NET 4.5 which makes this all but |
|
2369 |
+ |
trivial. We’ll look at what’s returned by that method (and most |
|
2370 |
+ |
methods in the SDK) in the next section.<o:p></o:p></span></p> |
|
2371 |
+ |
|
|
2372 |
+ |
<h3><a name="_Toc376966599"></a><a name="_The_WebCallResult_Class"></a><span |
|
2373 |
+ |
style='mso-bookmark:_Toc376966599'>The <span class=SpellE>DbFetchResult</span> |
|
2374 |
+ |
Class</span><span style='mso-bookmark:_Toc376966599'></span><span |
2236 |
2375 |
|
style='font-size:12.0pt;mso-bidi-font-size:14.0pt'><o:p></o:p></span></h3> |
2237 |
2376 |
|
|
2238 |
2377 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Throughout the library you |
|
@@ -2260,8 +2399,8 @@ |
2260 |
2399 |
|
everything you need for running down the problem.<span style='color:black; |
2261 |
2400 |
|
mso-themecolor:text1'><o:p></o:p></span></span></p> |
2262 |
2401 |
|
|
2263 |
|
- |
<h3><a name="_Toc366578035">Logging and Debugging with the SDK</a><span |
2264 |
|
- |
style='mso-bookmark:_Toc366578035'></span><span style='font-size:12.0pt; |
|
2402 |
+ |
<h3><a name="_Toc376966600">Logging and Debugging with the SDK</a><span |
|
2403 |
+ |
style='mso-bookmark:_Toc376966600'></span><span style='font-size:12.0pt; |
2265 |
2404 |
|
mso-bidi-font-size:14.0pt'><o:p></o:p></span></h3> |
2266 |
2405 |
|
|
2267 |
2406 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Since I’ve been asked a |
|
@@ -2279,7 +2418,7 @@ |
2279 |
2418 |
|
handle as you like at your application level as disused in this next section.<o:p></o:p></span></p> |
2280 |
2419 |
|
|
2281 |
2420 |
|
<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace: |
2282 |
|
- |
none'><span style='font-size:8.0pt'>The <span class=SpellE>UnityConnectrionServerOdbc</span> |
|
2421 |
+ |
none'><span style='font-size:8.0pt'>The <span class=SpellE>UnityConnectrionServerOdbcSdk</span> |
2283 |
2422 |
|
object exposes a couple of events you can use if you wish to be notified of any |
2284 |
2423 |
|
error and, optionally, debug event data that you can “hook” in your |
2285 |
2424 |
|
application to provide a more “dialog” logging output for instance.<span |
|
@@ -2290,14 +2429,11 @@ |
2290 |
2429 |
|
</span>For any errors that may take place on the back end which are not tied |
2291 |
2430 |
|
directly to a method call with a <span class=SpellE>DbFetchResult</span> return, |
2292 |
2431 |
|
you can hook the <span class=SpellE>ErrorEvents</span> event off the <span |
2293 |
|
- |
class=SpellE>CiscoUnityConnectionServer</span> class and the database functions |
2294 |
|
- |
class instance you passed to it (in our case this currently means the <span |
2295 |
|
- |
class=SpellE><b style='mso-bidi-font-weight:normal'>ConnectionInformixAdoNetDatabaseFunctions</b></span> |
2296 |
|
- |
class).<o:p></o:p></span></p> |
|
2432 |
+ |
class=SpellE>UnityConnectrionServerOdbcSdk</span> class.<o:p></o:p></span></p> |
2297 |
2433 |
|
|
2298 |
2434 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>This is easy to setup in .NET.<span |
2299 |
2435 |
|
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> |
|
2436 |
+ |
add this line of code:<o:p></o:p></span></p> |
2301 |
2437 |
|
|
2302 |
2438 |
|
<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; |
2303 |
2439 |
|
background:white'><span style='mso-bidi-font-size:10.0pt;font-family:Consolas; |
|
@@ -2309,17 +2445,12 @@ |
2309 |
2445 |
|
Consolas;color:black'>server.ErrorEvents</span></span><span style='font-size: |
2310 |
2446 |
|
8.5pt;font-family:Consolas;color:black'> += <span class=SpellE>ServerOnErrorEvents</span>;<o:p></o:p></span></p> |
2311 |
2447 |
|
|
2312 |
|
- |
<p class=MsoNormal style='margin-top:0in;text-indent:.5in;mso-layout-grid-align: |
2313 |
|
- |
none;text-autospace:none'><span class=SpellE><span style='font-size:8.5pt; |
2314 |
|
- |
font-family:Consolas'>server.DatabaseFunctions.ErrorEvents</span></span><span |
2315 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> += <span class=SpellE>ServerOnErrorEvents</span>;<o:p></o:p></span></p> |
2316 |
|
- |
|
2317 |
2448 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2318 |
2449 |
|
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; |
2319 |
2450 |
|
background:white'><span style='font-size:8.5pt;font-family:Consolas;color:black'><o:p> </o:p></span></p> |
2320 |
2451 |
|
|
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> |
|
2452 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>Then the definition for the |
|
2453 |
+ |
method that fires when the error event is raised looks like this:<o:p></o:p></span></p> |
2323 |
2454 |
|
|
2324 |
2455 |
|
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
2325 |
2456 |
|
|
|
@@ -2363,18 +2494,17 @@ |
2363 |
2494 |
|
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
2364 |
2495 |
|
|
2365 |
2496 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Nothing too fancy – Any |
2366 |
|
- |
and all errors that are encountered on the server or the database functions |
2367 |
|
- |
classes will show up in the log now where you can spot them.<span |
2368 |
|
- |
style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
|
2497 |
+ |
and all errors that are encountered on the server class will show up in the log |
|
2498 |
+ |
now where you can spot them.<span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
2369 |
2499 |
|
|
2370 |
2500 |
|
<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 |
2372 |
|
- |
having a specific problem you’re trying to diagnose – you should |
2373 |
|
- |
NEVER have this enabled in a production application because the debug output is |
2374 |
|
- |
VERY chatty.<span style='mso-spacerun:yes'> </span>However if you need to |
2375 |
|
- |
see what’s going on with a customer’s system or the like and |
2376 |
|
- |
that’s not an option, you can dump the traffic information out by wiring |
2377 |
|
- |
up the event like this:<o:p></o:p></span></p> |
|
2501 |
+ |
debug event that can also be useful, however you should only do this if |
|
2502 |
+ |
you’re having a specific problem you’re trying to diagnose – |
|
2503 |
+ |
you should NEVER have this enabled in a production application because the |
|
2504 |
+ |
debug output is VERY chatty.<span style='mso-spacerun:yes'> |
|
2505 |
+ |
</span>However if you need to see what’s going on with a customer’s |
|
2506 |
+ |
system or the like you can dump the traffic information out by wiring up the |
|
2507 |
+ |
event like this:<o:p></o:p></span></p> |
2378 |
2508 |
|
|
2379 |
2509 |
|
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
2380 |
2510 |
|
|
|
@@ -2387,27 +2517,11 @@ |
2387 |
2517 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2388 |
2518 |
|
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; |
2389 |
2519 |
|
background:white'><span class=SpellE><span style='font-size:8.5pt;font-family: |
2390 |
|
- |
Consolas;color:black'>server.DatabaseFunctions.DebugEvents</span></span><span |
2391 |
|
- |
style='font-size:8.5pt;font-family:Consolas;color:black'> += <span |
2392 |
|
- |
class=SpellE>ServerOnDebugEvents</span>;<o:p></o:p></span></p> |
2393 |
|
- |
|
2394 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2395 |
|
- |
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; |
2396 |
|
- |
background:white'><span style='font-size:8.5pt;font-family:Consolas;color:black'><o:p> </o:p></span></p> |
2397 |
|
- |
|
2398 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2399 |
|
- |
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; |
2400 |
|
- |
background:white'><span class=SpellE><span style='font-size:8.5pt;font-family: |
2401 |
2520 |
|
Consolas;color:black'>server.DebugMode</span></span><span style='font-size: |
2402 |
2521 |
|
8.5pt;font-family:Consolas;color:black'> = </span><span |
2403 |
2522 |
|
style='font-size:8.5pt;font-family:Consolas;color:blue'>true</span><span |
2404 |
2523 |
|
style='font-size:8.5pt;font-family:Consolas;color:black'>;<o:p></o:p></span></p> |
2405 |
2524 |
|
|
2406 |
|
- |
<p class=MsoNormal style='margin-top:0in;text-indent:.5in;mso-layout-grid-align: |
2407 |
|
- |
none;text-autospace:none'><span class=SpellE><span style='font-size:8.5pt; |
2408 |
|
- |
font-family:Consolas'>server.DatabaseFunctions.DebugMode</span></span><span |
2409 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> = <span style='color:blue'>true</span>;<o:p></o:p></span></p> |
2410 |
|
- |
|
2411 |
2525 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2412 |
2526 |
|
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; |
2413 |
2527 |
|
background:white'><span style='font-size:8.5pt;font-family:Consolas;color:black'><o:p> </o:p></span></p> |
|
@@ -2461,12 +2575,12 @@ |
2461 |
2575 |
|
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
2462 |
2576 |
|
|
2463 |
2577 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Not too tricky.<span |
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 |
|
2578 |
+ |
style='mso-spacerun:yes'> </span>Again, though, I highly encourage folks |
|
2579 |
+ |
to wire up and alert/log on error events but leave the debug events out of the |
2466 |
2580 |
|
picture unless you have a driving need for them in a particular scenario.<o:p></o:p></span></p> |
2467 |
2581 |
|
|
2468 |
|
- |
<h3><a name="_Toc366578036"></a><a name="_Users"></a><span style='mso-bookmark: |
2469 |
|
- |
_Toc366578036'>CUDLI Is Your Friend</span></h3> |
|
2582 |
+ |
<h3><a name="_Toc376966601"></a><a name="_Users"></a><span style='mso-bookmark: |
|
2583 |
+ |
_Toc376966601'>CUDLI Is Your Friend</span></h3> |
2470 |
2584 |
|
|
2471 |
2585 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>If you’re going to be |
2472 |
2586 |
|
doing anything with SQL queries into Unity Connection your first stop needs to |
|
@@ -2483,11 +2597,9 @@ |
2483 |
2597 |
|
<p class=MsoNormal><a |
2484 |
2598 |
|
href="http://www.ciscounitytools.com/Applications/CxN/CUDLI/CUDLI.html">http://www.ciscounitytools.com/Applications/CxN/CUDLI/CUDLI.html</a></p> |
2485 |
2599 |
|
|
2486 |
|
- |
<p class=MsoNormal><o:p> </o:p></p> |
|
2600 |
+ |
<h2 style='tab-stops:110.8pt'><a name="_Toc376966602">Fetching Data</a></h2> |
2487 |
2601 |
|
|
2488 |
|
- |
<h2 style='tab-stops:110.8pt'><a name="_Toc366578037">Fetching Data</a></h2> |
2489 |
|
- |
|
2490 |
|
- |
<h3><a name="_Toc366578038">Data Tables and Data Readers</a></h3> |
|
2602 |
+ |
<h3><a name="_Toc376966603">Data Tables and Data Readers</a></h3> |
2491 |
2603 |
|
|
2492 |
2604 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Before we get started |
2493 |
2605 |
|
I’d like to briefly cover the mechanics of getting data off a server and |
|
@@ -2526,7 +2638,7 @@ |
2526 |
2638 |
|
as you iterate over the result set.<span style='mso-spacerun:yes'> |
2527 |
2639 |
|
</span>It’s quick, it’s easy and it can handle iterating over an |
2528 |
2640 |
|
enormous return set (think hundreds of thousands of rows) reasonably |
2529 |
|
- |
efficiently. <span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
|
2641 |
+ |
efficiently.<span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
2530 |
2642 |
|
|
2531 |
2643 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The down side, however, is |
2532 |
2644 |
|
that it uses a proprietary type (for instance the <span class=SpellE>IfxDataReader</span> |
|
@@ -2557,7 +2669,7 @@ |
2557 |
2669 |
|
significantly impacting performance or memory in a typical application and is a |
2558 |
2670 |
|
much better design choice on the whole.<o:p></o:p></span></p> |
2559 |
2671 |
|
|
2560 |
|
- |
<h3><a name="_Toc366578039">Filling a Data Table</a></h3> |
|
2672 |
+ |
<h3><a name="_Toc376966604">Filling a Data Table</a></h3> |
2561 |
2673 |
|
|
2562 |
2674 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Let’s start by looking |
2563 |
2675 |
|
at one of the most common tasks you’ll want to do with the SDK and |
|
@@ -2600,7 +2712,7 @@ |
2600 |
2712 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2601 |
2713 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
2602 |
2714 |
|
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas'>res</span></span><span |
2603 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> = <span class=SpellE>server.DatabaseFunctions.FillDataTableBlocking</span>(<span |
|
2715 |
+ |
style='font-size:8.5pt;font-family:Consolas'> = <span class=SpellE>server.FillDataTableBlocking</span>(<span |
2604 |
2716 |
|
class=SpellE>strSql</span>, <span style='color:blue'>out</span> <span |
2605 |
2717 |
|
class=SpellE>oTable</span>, <span style='color:blue'>false</span>, <span |
2606 |
2718 |
|
style='color:#A31515'>"<span class=SpellE>seattle</span>"</span>,<span |
|
@@ -2728,7 +2840,7 @@ |
2728 |
2840 |
|
</span>If you pass this as true a query you’re expecting to have at least |
2729 |
2841 |
|
one match would return a failure if the data table returned was empty.<o:p></o:p></span></p> |
2730 |
2842 |
|
|
2731 |
|
- |
<h3><a name="_Toc366578040">Getting a Count</a></h3> |
|
2843 |
+ |
<h3><a name="_Toc376966605">Getting a Count</a></h3> |
2732 |
2844 |
|
|
2733 |
2845 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Executing a “scalar |
2734 |
2846 |
|
query” is simply getting a count using a SQL query – these are |
|
@@ -2757,8 +2869,8 @@ |
2757 |
2869 |
|
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
2758 |
2870 |
|
font-family:Consolas;color:blue'>int</span></span></span><span |
2759 |
2871 |
|
style='font-size:8.5pt;font-family:Consolas'> <span class=SpellE>iCount</span> |
2760 |
|
- |
= <span class=SpellE>server.DatabaseFunctions.GetCount</span>(<span |
2761 |
|
- |
class=SpellE>strSql,<span style='color:blue'>true</span></span>);<o:p></o:p></span></p> |
|
2872 |
+ |
= <span class=SpellE>server.GetCount</span>(<span class=SpellE>strSql,<span |
|
2873 |
+ |
style='color:blue'>true</span></span>);<o:p></o:p></span></p> |
2762 |
2874 |
|
|
2763 |
2875 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2764 |
2876 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
@@ -2780,14 +2892,14 @@ |
2780 |
2892 |
|
<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace: |
2781 |
2893 |
|
none'><span style='font-size:8.0pt;mso-bidi-font-family:Arial'>Notice that |
2782 |
2894 |
|
there’s no <span class=SpellE>DbFetchResult</span> class returned in this |
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> |
|
2895 |
+ |
case, just the count.<span style='mso-spacerun:yes'> </span>This is a |
|
2896 |
+ |
good reason to have the <span class=SpellE>ErrorEvent</span> wired up so if |
|
2897 |
+ |
there is a malformed query passed you don’t just report 0 and move on |
|
2898 |
+ |
without note.<o:p></o:p></span></p> |
2787 |
2899 |
|
|
2788 |
2900 |
|
<p class=MsoNormal><span style='font-size:8.0pt;mso-bidi-font-family:Arial'>Yes, |
2789 |
|
- |
you can just execute fill data table method and the result is returned in the |
2790 |
|
- |
first column of the first row (only row) returned.<span |
|
2901 |
+ |
you can just execute fill data table method instead and the result is returned |
|
2902 |
+ |
in the first column of the first row (only row) returned.<span |
2791 |
2903 |
|
style='mso-spacerun:yes'> </span>It’s a bit simpler using this |
2792 |
2904 |
|
call, however, as you <span class=GramE>don’t</span> need to convert |
2793 |
2905 |
|
types or the like.<span style='mso-spacerun:yes'> </span>However doing it |
|
@@ -2795,10 +2907,10 @@ |
2795 |
2907 |
|
table as an out parameter which is a little more code but may be more appealing |
2796 |
2908 |
|
to you depending on the application.<o:p></o:p></span></p> |
2797 |
2909 |
|
|
2798 |
|
- |
<h3><a name="_Toc366578041">Getting a Single Value</a></h3> |
|
2910 |
+ |
<h3><a name="_Toc376966606">Getting a Single Value</a></h3> |
2799 |
2911 |
|
|
2800 |
2912 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Another shortcut method |
2801 |
|
- |
provided for convenient is the ability to fetch a single string value from a |
|
2913 |
+ |
provided for convenience is the ability to fetch a single string value from a |
2802 |
2914 |
|
query.<span style='mso-spacerun:yes'> </span>Yes, you can just fill a |
2803 |
2915 |
|
data table and pull it out of the rows/columns in the returned table – |
2804 |
2916 |
|
however it’s something that needs to be done so often that it’s |
|
@@ -2855,131 +2967,19 @@ |
2855 |
2967 |
|
is provided merely as a shorthand time saver for very common needs such as |
2856 |
2968 |
|
pulling values based on unique identifiers or the like.<o:p></o:p></span></p> |
2857 |
2969 |
|
|
2858 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt;mso-bidi-font-family:Arial'><o:p> </o:p></span></p> |
2859 |
|
- |
|
2860 |
|
- |
<h3><a name="_Toc366578042">Filling a Data Reader</a></h3> |
|
2970 |
+ |
<h3><a name="_Toc376966607">Filling a Data Reader</a></h3> |
2861 |
2971 |
|
|
2862 |
2972 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>If you intend on using a data |
2863 |
|
- |
reader in your application there’s a few additional hoops you’ll |
2864 |
|
- |
need to jump through:<o:p></o:p></span></p> |
2865 |
|
- |
|
2866 |
|
- |
<p class=MsoListParagraphCxSpFirst style='text-indent:-.25in;mso-list:l0 level1 lfo4'><![if !supportLists]><span |
2867 |
|
- |
style='font-size:8.0pt;mso-fareast-font-family:Arial;mso-bidi-font-family:Arial'><span |
2868 |
|
- |
style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'> |
2869 |
|
- |
</span></span></span><![endif]><span style='font-size:8.0pt'>You need to add |
2870 |
|
- |
the <span class=SpellE>IBM.Data.Informix</span> library to your |
2871 |
|
- |
application.<span style='mso-spacerun:yes'> </span>This means browsing to |
2872 |
|
- |
the DLL which can be found by default under c:\program files(x86)\IBM Informix |
2873 |
|
- |
Client SDK\bin\netf20\ (or wherever you installed it if you didn’t take the |
|
2973 |
+ |
reader in your application you need to add the <span class=SpellE>IBM.Data.Informix</span> |
|
2974 |
+ |
library to your application.<span style='mso-spacerun:yes'> </span>This |
|
2975 |
+ |
means browsing to the DLL which can be found by default under <b |
|
2976 |
+ |
style='mso-bidi-font-weight:normal'>c:\program files(x86)\IBM Informix Client |
|
2977 |
+ |
SDK\bin\netf20\ </b>(or wherever you installed it if you didn’t take the |
2874 |
2978 |
|
defaults).<o:p></o:p></span></p> |
2875 |
2979 |
|
|
2876 |
|
- |
<p class=MsoListParagraphCxSpLast style='text-indent:-.25in;mso-list:l0 level1 lfo4'><![if !supportLists]><span |
2877 |
|
- |
style='font-size:8.0pt;mso-fareast-font-family:Arial;mso-bidi-font-family:Arial'><span |
2878 |
|
- |
style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'> |
2879 |
|
- |
</span></span></span><![endif]><span style='font-size:8.0pt'>Setup your <span |
2880 |
|
- |
class=SpellE>CiscoUnityConnectionServerOdbc</span> constructor a little |
2881 |
|
- |
differently.<o:p></o:p></span></p> |
2882 |
|
- |
|
2883 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>For #2, instead of passing a |
2884 |
|
- |
simple “new” directive as we did in the first example:<o:p></o:p></span></p> |
2885 |
|
- |
|
2886 |
|
- |
<p class=MsoNormal><o:p> </o:p></p> |
2887 |
|
- |
|
2888 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2889 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
2890 |
|
- |
none'><span class=SpellE><span style='font-size:8.5pt;font-family:Consolas; |
2891 |
|
- |
color:#2B91AF'>CiscoUnityConnectionServerOdbc</span></span><span |
2892 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> server = <span style='color:blue'>new</span> |
2893 |
|
- |
<span class=SpellE><span class=GramE><span style='color:#2B91AF'>CiscoUnityConnectionServerOdbc</span></span></span><span |
2894 |
|
- |
class=GramE>(</span><o:p></o:p></span></p> |
2895 |
|
- |
|
2896 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2897 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
2898 |
|
- |
none'><span style='font-size:8.5pt;font-family:Consolas'><span |
2899 |
|
- |
style='mso-spacerun:yes'> </span><span class=GramE><span |
2900 |
|
- |
style='color:blue'>new</span></span> <span class=SpellE><span style='color: |
2901 |
|
- |
#2B91AF'>ConnectionInformixAdoNetDatabaseFunctions</span></span>(<span |
2902 |
|
- |
style='color:#A31515'>"<span class=SpellE>TestApplication</span>"</span>));<o:p></o:p></span></p> |
2903 |
|
- |
|
2904 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2905 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
2906 |
|
- |
none'><span style='font-size:8.5pt;font-family:Consolas;color:blue'><o:p> </o:p></span></p> |
2907 |
|
- |
|
2908 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2909 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
2910 |
|
- |
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
2911 |
|
- |
font-family:Consolas;color:blue'>var</span></span></span><span |
2912 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> res= <span class=SpellE>server.LoginDatabaseBlocking</span>(<span |
2913 |
|
- |
style='color:#A31515'>"192.168.0.197"</span>, <span style='color: |
2914 |
|
- |
#A31515'>"<span class=SpellE>dbdude</span>"</span>, <span |
2915 |
|
- |
style='color:#A31515'>"<span class=SpellE>labPw</span>"</span>);<o:p></o:p></span></p> |
2916 |
|
- |
|
2917 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>You instead need to create a |
2918 |
|
- |
separate instance of the <span class=SpellE>ConnectionInformixAdoNetDatabaseFunction</span> |
2919 |
|
- |
class and pass that in instead:<o:p></o:p></span></p> |
2920 |
|
- |
|
2921 |
|
- |
<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace: |
2922 |
|
- |
none'><span style='font-size:9.5pt;font-family:Consolas;color:#2B91AF'><o:p> </o:p></span></p> |
2923 |
|
- |
|
2924 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2925 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
2926 |
|
- |
none'><span class=SpellE><span style='font-size:8.5pt;font-family:Consolas; |
2927 |
|
- |
color:#2B91AF'>ConnectionInformixAdoNetDatabaseFunctions</span></span><span |
2928 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> <span class=SpellE>oDbFunctions</span> |
2929 |
|
- |
= <span style='color:blue'>new</span> <o:p></o:p></span></p> |
2930 |
|
- |
|
2931 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2932 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;text-indent:.5in;mso-layout-grid-align: |
2933 |
|
- |
none;text-autospace:none'><span class=SpellE><span class=GramE><span |
2934 |
|
- |
style='font-size:8.5pt;font-family:Consolas;color:#2B91AF'>ConnectionInformixAdoNetDatabaseFunctions</span></span></span><span |
2935 |
|
- |
class=GramE><span style='font-size:8.5pt;font-family:Consolas'>(</span></span><span |
2936 |
|
- |
style='font-size:8.5pt;font-family:Consolas;color:#A31515'>"<span |
2937 |
|
- |
class=SpellE>TestApp</span>"</span><span style='font-size:8.5pt; |
2938 |
|
- |
font-family:Consolas'>);<o:p></o:p></span></p> |
2939 |
|
- |
|
2940 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2941 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
2942 |
|
- |
none'><span style='font-size:8.5pt;font-family:Consolas;color:#2B91AF'><o:p> </o:p></span></p> |
2943 |
|
- |
|
2944 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2945 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
2946 |
|
- |
none'><span class=SpellE><span style='font-size:8.5pt;font-family:Consolas; |
2947 |
|
- |
color:#2B91AF'>CiscoUnityConnectionServerOdbc</span></span><span |
2948 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> server = <span style='color:blue'>new</span> |
2949 |
|
- |
<o:p></o:p></span></p> |
2950 |
|
- |
|
2951 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2952 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
2953 |
|
- |
none'><span style='font-size:8.5pt;font-family:Consolas'><span |
2954 |
|
- |
style='mso-tab-count:1'> </span><span |
2955 |
|
- |
class=SpellE><span class=GramE><span style='color:#2B91AF'>CiscoUnityConnectionServerOdbc</span></span></span><span |
2956 |
|
- |
class=GramE>(</span><span class=SpellE>oDbFunctions</span>);<o:p></o:p></span></p> |
2957 |
|
- |
|
2958 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2959 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
2960 |
|
- |
none'><span style='font-size:8.5pt;font-family:Consolas;color:#2B91AF'><o:p> </o:p></span></p> |
2961 |
|
- |
|
2962 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
2963 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
2964 |
|
- |
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
2965 |
|
- |
font-family:Consolas;color:blue'>var</span></span></span><span |
2966 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> res= <span class=SpellE>server.LoginDatabaseBlocking</span>(<span |
2967 |
|
- |
style='color:#A31515'>"192.168.0.197"</span>, <span style='color: |
2968 |
|
- |
#A31515'>"<span class=SpellE>dbdude</span>"</span>, <span |
2969 |
|
- |
style='color:#A31515'>"<span class=SpellE>labPw</span>"</span>);<o:p></o:p></span></p> |
2970 |
|
- |
|
2971 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>The reason for this is by |
2972 |
|
- |
default what’s exposed via the <span class=SpellE>DatabseFunctions</span> |
2973 |
|
- |
interface off the server instance only includes methods that will work against |
2974 |
|
- |
all providers universally.<span style='mso-spacerun:yes'> </span>Since |
2975 |
|
- |
the data reader requires a separate provider-specific library to work |
2976 |
|
- |
that’s not the case.<span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
2977 |
|
- |
|
2978 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>Then when you wish to use the |
2979 |
|
- |
data reader filling method you call the <span class=SpellE>oDbFunctions</span> |
2980 |
|
- |
instance (from the example above) directly instead of going through the |
2981 |
|
- |
server’s instance of <span class=SpellE>DatabaseFunctions</span>.<span |
2982 |
|
- |
style='mso-spacerun:yes'> </span>So it would look like this:<o:p></o:p></span></p> |
|
2980 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>Filling a data reader looks a |
|
2981 |
+ |
lot like filling a data table we’ve already seen - it would look like |
|
2982 |
+ |
this:<o:p></o:p></span></p> |
2983 |
2983 |
|
|
2984 |
2984 |
|
<p class=MsoNormal style='margin-top:0in;mso-layout-grid-align:none;text-autospace: |
2985 |
2985 |
|
none'><span style='font-size:9.5pt;font-family:Consolas;color:blue'><o:p> </o:p></span></p> |
|
@@ -3013,7 +3013,7 @@ |
3013 |
3013 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3014 |
3014 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3015 |
3015 |
|
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas'>res</span></span><span |
3016 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> = <span class=SpellE>oDbFunctions.FillDataReader</span>(<span |
|
3016 |
+ |
style='font-size:8.5pt;font-family:Consolas'> = <span class=SpellE>server.FillDataReaderInformix</span>(<span |
3017 |
3017 |
|
class=SpellE>strSql,<span style='color:blue'>out</span></span> <span |
3018 |
3018 |
|
class=SpellE>oReader</span>);<o:p></o:p></span></p> |
3019 |
3019 |
|
|
|
@@ -3108,18 +3108,20 @@ |
3108 |
3108 |
|
|
3109 |
3109 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Finally notice the explicit |
3110 |
3110 |
|
dispose of the reader – technically this will be done when you exit scope |
3111 |
|
- |
but when using a reader I like to be explicit about this to avoid accidents.<o:p></o:p></span></p> |
|
3111 |
+ |
but when using a reader I like to be explicit about this to avoid accidents.<span |
|
3112 |
+ |
style='mso-spacerun:yes'> </span>Remember, it maintains its own separate connection |
|
3113 |
+ |
to the database via ODBC until it’s destroyed.<o:p></o:p></span></p> |
3112 |
3114 |
|
|
3113 |
|
- |
<h2><a name="_Toc366578043">Stored Procedure Overview</a></h2> |
|
3115 |
+ |
<h2><a name="_Toc376966608">Stored Procedure Overview</a></h2> |
3114 |
3116 |
|
|
3115 |
3117 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Stored procedures are your |
3116 |
3118 |
|
friend.<span style='mso-spacerun:yes'> </span>I know many folks |
3117 |
3119 |
|
don’t want to deal with stored procedures and want to just “get to |
3118 |
3120 |
|
the metal” and update data in tables directly.<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 |
|
3121 |
+ |
style='mso-spacerun:yes'> </span>Mostly I think this is because they |
|
3122 |
+ |
don’t really understand what a stored procedure does for them or how they |
|
3123 |
+ |
work.<span style='mso-spacerun:yes'> </span>The SDK is written to assume |
|
3124 |
+ |
ALL updates, creates and deletes ware done via stored process exclusively.<span |
3123 |
3125 |
|
style='mso-spacerun:yes'> </span>If you’re doing anything other |
3124 |
3126 |
|
than that you’re doing it wrong, period.<o:p></o:p></span></p> |
3125 |
3127 |
|
|
|
@@ -3133,7 +3135,11 @@ |
3133 |
3135 |
|
instance when you delete a user via a stored procedure you can pass in a |
3134 |
3136 |
|
replacement user’s ID to fix up any external references to the user being |
3135 |
3137 |
|
removed automatically.<span style='mso-spacerun:yes'> </span><span |
3136 |
|
- |
class=GramE>Very handy.</span><span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
|
3138 |
+ |
class=GramE>Very handy.</span><span style='mso-spacerun:yes'> |
|
3139 |
+ |
</span>Without it the foreign key constraints on the table definitions would |
|
3140 |
+ |
simply not allow you to remove the user until you manually went around and |
|
3141 |
+ |
removed all references to them first.<span style='mso-spacerun:yes'> |
|
3142 |
+ |
</span>Not fun.<span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
3137 |
3143 |
|
|
3138 |
3144 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>You can execute a stored |
3139 |
3145 |
|
procedure just like you can a query.<span style='mso-spacerun:yes'> |
|
@@ -3154,7 +3160,7 @@ |
3154 |
3160 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>So that’s not so |
3155 |
3161 |
|
scary.<span style='mso-spacerun:yes'> </span>Where it gets a little more |
3156 |
3162 |
|
challenging is when you have to “cast” values such as LVARCHARs and |
3157 |
|
- |
handle the rather fussy date/time format used by Informix and such.<span |
|
3163 |
+ |
handle the rather fussy date/time format used by Informix.<span |
3158 |
3164 |
|
style='mso-spacerun:yes'> </span>The SDK provides a full set of methods |
3159 |
3165 |
|
to create stored procedures and add parameters to them to help isolate you from |
3160 |
3166 |
|
all the complexities here so your code should be nice and clean and not have to |
|
@@ -3169,18 +3175,7 @@ |
3169 |
3175 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3170 |
3176 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3171 |
3177 |
|
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
3172 |
|
- |
font-family:Consolas;color:blue'>var</span></span></span><span |
3173 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> <span class=SpellE>oDb</span> = <span |
3174 |
|
- |
class=SpellE>server.DatabaseFunctions</span>;<o:p></o:p></span></p> |
3175 |
|
- |
|
3176 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3177 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3178 |
|
- |
none'><span style='font-size:8.5pt;font-family:Consolas'><o:p> </o:p></span></p> |
3179 |
|
- |
|
3180 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3181 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3182 |
|
- |
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
3183 |
|
- |
font-family:Consolas'>oDb.StartNewCommand</span></span></span><span |
|
3178 |
+ |
font-family:Consolas'>server.StartNewCommand</span></span></span><span |
3184 |
3179 |
|
class=GramE><span style='font-size:8.5pt;font-family:Consolas'>(</span></span><span |
3185 |
3180 |
|
style='font-size:8.5pt;font-family:Consolas;color:#A31515'>"<span |
3186 |
3181 |
|
class=SpellE>csp_SubscriberCreate</span>"</span><span style='font-size: |
|
@@ -3189,7 +3184,7 @@ |
3189 |
3184 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3190 |
3185 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3191 |
3186 |
|
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
3192 |
|
- |
font-family:Consolas'>oDb.AddCommandParam</span></span></span><span |
|
3187 |
+ |
font-family:Consolas'>server.AddCommandParam</span></span></span><span |
3193 |
3188 |
|
class=GramE><span style='font-size:8.5pt;font-family:Consolas'>(</span></span><span |
3194 |
3189 |
|
style='font-size:8.5pt;font-family:Consolas;color:#A31515'>"<span |
3195 |
3190 |
|
class=SpellE>pAlias</span>"</span><span style='font-size:8.5pt;font-family: |
|
@@ -3199,7 +3194,7 @@ |
3199 |
3194 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3200 |
3195 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3201 |
3196 |
|
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
3202 |
|
- |
font-family:Consolas'>oDb.AddCommandParam</span></span></span><span |
|
3197 |
+ |
font-family:Consolas'>server.AddCommandParam</span></span></span><span |
3203 |
3198 |
|
class=GramE><span style='font-size:8.5pt;font-family:Consolas'>(</span></span><span |
3204 |
3199 |
|
style='font-size:8.5pt;font-family:Consolas;color:#A31515'>"<span |
3205 |
3200 |
|
class=SpellE>pDtmfAccessId</span>"</span><span style='font-size:8.5pt; |
|
@@ -3207,13 +3202,11 @@ |
3207 |
3202 |
|
<span style='color:#A31515'>"555123"</span>);<o:p></o:p></span></p> |
3208 |
3203 |
|
|
3209 |
3204 |
|
<p class=MsoNormal style='margin-top:0in;text-indent:.5in;mso-layout-grid-align: |
3210 |
|
- |
none;text-autospace:none'><span class=SpellE><span class=GramE><span |
3211 |
|
- |
style='font-size:8.5pt;font-family:Consolas'>oDb.AddCommandParam</span></span></span><span |
3212 |
|
- |
class=GramE><span style='font-size:8.5pt;font-family:Consolas'>(</span></span><span |
3213 |
|
- |
style='font-size:8.5pt;font-family:Consolas;color:#A31515'>"<span |
3214 |
|
- |
class=SpellE>pTemplateAlias</span>"</span><span style='font-size:8.5pt; |
3215 |
|
- |
font-family:Consolas'>, <span class=SpellE><span style='color:#2B91AF'>DbParamType</span>.VarChar</span>, |
3216 |
|
- |
<span style='color:#A31515'>"<span class=SpellE>voiceMailUserTemplate</span>"</span>);<o:p></o:p></span></p> |
|
3205 |
+ |
none;text-autospace:none'><span class=GramE><span style='font-size:8.5pt; |
|
3206 |
+ |
font-family:Consolas'>server.AddCommandParam(</span></span><span |
|
3207 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:#A31515'>"pTemplateAlias"</span><span |
|
3208 |
+ |
style='font-size:8.5pt;font-family:Consolas'>,<span style='color:#2B91AF'>DbParamType</span>.VarChar,<span |
|
3209 |
+ |
style='color:#A31515'>"myTemplate"</span>);<o:p></o:p></span></p> |
3217 |
3210 |
|
|
3218 |
3211 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3219 |
3212 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
@@ -3228,7 +3221,7 @@ |
3228 |
3221 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3229 |
3222 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3230 |
3223 |
|
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas'>res</span></span><span |
3231 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> = <span class=SpellE>oDb.ExecuteProc</span>(<span |
|
3224 |
+ |
style='font-size:8.5pt;font-family:Consolas'> = <span class=SpellE>server.ExecuteProc</span>(<span |
3232 |
3225 |
|
style='color:blue'>out</span> <span class=SpellE>strNewObjectId</span>, <span |
3233 |
3226 |
|
style='color:#A31515'>"<span class=SpellE>ObjectId</span>"</span>);<o:p></o:p></span></p> |
3234 |
3227 |
|
|
|
@@ -3282,10 +3275,10 @@ |
3282 |
3275 |
|
|
3283 |
3276 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Pretty straight forward |
3284 |
3277 |
|
– and yes, I had CUDLI open and was looking at the parameters the <span |
3285 |
|
- |
class=SpellE>csp_SubscriberCreate</span> <span class=SpellE>proc</span> accepts |
3286 |
|
- |
including what their types were (all <span class=SpellE>VarChars</span> in the |
3287 |
|
- |
example here).<span style='mso-spacerun:yes'> </span>As noted |
3288 |
|
- |
you’ll want CUDLI installed and open while you work.<o:p></o:p></span></p> |
|
3278 |
+ |
class=SpellE>csp_SubscriberCreate</span> procedure accepts including what their |
|
3279 |
+ |
types were (all <span class=SpellE>VarChars</span> in the example here).<span |
|
3280 |
+ |
style='mso-spacerun:yes'> </span>As noted you’ll want CUDLI |
|
3281 |
+ |
installed and open while you work.<o:p></o:p></span></p> |
3289 |
3282 |
|
|
3290 |
3283 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Also note that the SDK will |
3291 |
3284 |
|
automatically add the <span class=SpellE><b style='mso-bidi-font-weight:normal'>AuditAlias</b></span> |
|
@@ -3293,14 +3286,14 @@ |
3293 |
3286 |
|
fields in every stored procedure that supports them (almost all of them |
3294 |
3287 |
|
do).<span style='mso-spacerun:yes'> </span>The <span class=SpellE>AuditComponent</span> |
3295 |
3288 |
|
is the string you passed into the database functions constructor when you |
3296 |
|
- |
created the <span class=SpellE>CiscoUnityConnectionServerOdbc</span> class |
|
3289 |
+ |
created the <span class=SpellE>UnityConnectionServerOdbcSdk</span> class |
3297 |
3290 |
|
instance.<span style='mso-spacerun:yes'> </span>The <span class=SpellE>AuditAlias</span> |
3298 |
3291 |
|
is the currently logged in user name and domain on the Windows client |
3299 |
3292 |
|
you’re running on.<span style='mso-spacerun:yes'> </span>This helps |
3300 |
3293 |
|
you be a good Unity Connection citizen by logging those details in the audit |
3301 |
3294 |
|
log on Connection for later troubleshooting purposes.<o:p></o:p></span></p> |
3302 |
3295 |
|
|
3303 |
|
- |
<h3><a name="_Toc366578044">Stored Procedure Naming Strategy</a></h3> |
|
3296 |
+ |
<h3><a name="_Toc376966609">Stored Procedure Naming Strategy</a></h3> |
3304 |
3297 |
|
|
3305 |
3298 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>All stored procedures added by |
3306 |
3299 |
|
Unity Connection start with “<span class=SpellE>csp</span>_” |
|
@@ -3353,11 +3346,11 @@ |
3353 |
3346 |
|
style='font-size:8.0pt'>csp_SubscriberModify</span></span><span |
3354 |
3347 |
|
style='font-size:8.0pt'><o:p></o:p></span></p> |
3355 |
3348 |
|
|
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” |
3358 |
|
- |
– this is a database naming convention and I know it trips folks up now |
3359 |
|
- |
and again, so don’t forget when passing your parameters to include the p |
3360 |
|
- |
in there.<o:p></o:p></span></p> |
|
3349 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>You’ll also notice that |
|
3350 |
+ |
all parameters for all procedures are prefixed with a lower case |
|
3351 |
+ |
“p” – this is a database naming convention and I know it |
|
3352 |
+ |
trips folks up now and again, so don’t forget when passing your |
|
3353 |
+ |
parameters to include the p in there.<o:p></o:p></span></p> |
3361 |
3354 |
|
|
3362 |
3355 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>You’ll also see some |
3363 |
3356 |
|
stored procedures that have “get” embedded in them – around |
|
@@ -3375,16 +3368,17 @@ |
3375 |
3368 |
|
applications.<span style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
3376 |
3369 |
|
|
3377 |
3370 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>Each procedure will have a set |
3378 |
|
- |
of required parameters – in CUDLI these show up with the “REQ” |
3379 |
|
- |
column checked – if you call a stored procedure and miss a required |
3380 |
|
- |
parameter you’ll often get an error message about the stored procedure |
3381 |
|
- |
name not being found or recognized which may throw you off – it’s |
3382 |
|
- |
not the stored procedure NAME it’s not finding, it’s not finding |
3383 |
|
- |
the full method signature which includes the required parameters so if you see |
3384 |
|
- |
that don’t tear your hair out about the spelling of the <span |
3385 |
|
- |
class=SpellE>proc</span> and instead look at your required parameters.<o:p></o:p></span></p> |
|
3371 |
+ |
of required parameters – in CUDLI these show up with the |
|
3372 |
+ |
“REQ” column checked – if you call a stored procedure and |
|
3373 |
+ |
miss a required parameter you’ll often get an error message about the |
|
3374 |
+ |
stored procedure name not being found or recognized which may throw you off |
|
3375 |
+ |
– it’s not the stored procedure NAME it’s not finding, |
|
3376 |
+ |
it’s not finding the full method signature which includes the required |
|
3377 |
+ |
parameters so if you see that don’t tear your hair out about the spelling |
|
3378 |
+ |
of the <span class=SpellE>proc</span> and instead look at your required |
|
3379 |
+ |
parameters.<o:p></o:p></span></p> |
3386 |
3380 |
|
|
3387 |
|
- |
<h3><a name="_Toc366578045">Return Values from Stored Procedures</a></h3> |
|
3381 |
+ |
<h3><a name="_Toc376966610">Return Values from Stored Procedures</a></h3> |
3388 |
3382 |
|
|
3389 |
3383 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>As a rule, all <span |
3390 |
3384 |
|
class=GramE>the create</span> stored procedures return 1 or more values and all |
|
@@ -3399,11 +3393,11 @@ |
3399 |
3393 |
|
|
3400 |
3394 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>The vast majority of <span |
3401 |
3395 |
|
class=GramE>the create</span> stored procedures return a “<span |
3402 |
|
- |
class=SpellE>pObjectId</span>” string indicating the new unique |
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 |
|
3396 |
+ |
class=SpellE>pObjectId</span>” string indicating the new unique identifier |
|
3397 |
+ |
for the newly created object.<span style='mso-spacerun:yes'> </span>If |
|
3398 |
+ |
you’re curious about a particular stored procedure’s behavior you |
|
3399 |
+ |
can simply select the procedure in CUDLI and then use the “Source” |
|
3400 |
+ |
view button to see the stored procedure source code.<span |
3407 |
3401 |
|
style='mso-spacerun:yes'> </span>The Informix style stored procedure code |
3408 |
3402 |
|
may look a little odd to you but up at the top where the “CREATE |
3409 |
3403 |
|
PROCEDURE” is seen should be fairly obvious as a method signature.<span |
|
@@ -3550,18 +3544,7 @@ |
3550 |
3544 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3551 |
3545 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3552 |
3546 |
|
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
3553 |
|
- |
font-family:Consolas;color:blue'>var</span></span></span><span |
3554 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> <span class=SpellE>oDb</span> = <span |
3555 |
|
- |
class=SpellE>server.DatabaseFunctions</span>;<o:p></o:p></span></p> |
3556 |
|
- |
|
3557 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3558 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3559 |
|
- |
none'><span style='font-size:8.5pt;font-family:Consolas'><o:p> </o:p></span></p> |
3560 |
|
- |
|
3561 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3562 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3563 |
|
- |
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
3564 |
|
- |
font-family:Consolas'>oDb.StartNewCommand</span></span></span><span |
|
3547 |
+ |
font-family:Consolas'>server.StartNewCommand</span></span></span><span |
3565 |
3548 |
|
class=GramE><span style='font-size:8.5pt;font-family:Consolas'>(</span></span><span |
3566 |
3549 |
|
style='font-size:8.5pt;font-family:Consolas;color:#A31515'>"<span |
3567 |
3550 |
|
class=SpellE>csp_BroadcastMessageCreate</span>"</span><span |
|
@@ -3570,7 +3553,7 @@ |
3570 |
3553 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3571 |
3554 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3572 |
3555 |
|
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
3573 |
|
- |
font-family:Consolas'>oDb.AddCommandParam</span></span></span><span |
|
3556 |
+ |
font-family:Consolas'>server.AddCommandParam</span></span></span><span |
3574 |
3557 |
|
class=GramE><span style='font-size:8.5pt;font-family:Consolas'>(</span></span><span |
3575 |
3558 |
|
style='font-size:8.5pt;font-family:Consolas;color:#A31515'>"<span |
3576 |
3559 |
|
class=SpellE>pSubscriberObjectId</span>"</span><span style='font-size: |
|
@@ -3580,7 +3563,7 @@ |
3580 |
3563 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3581 |
3564 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3582 |
3565 |
|
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
3583 |
|
- |
font-family:Consolas'>oDb.AddCommandParam</span></span></span><span |
|
3566 |
+ |
font-family:Consolas'>server.AddCommandParam</span></span></span><span |
3584 |
3567 |
|
class=GramE><span style='font-size:8.5pt;font-family:Consolas'>(</span></span><span |
3585 |
3568 |
|
style='font-size:8.5pt;font-family:Consolas;color:#A31515'>"<span |
3586 |
3569 |
|
class=SpellE>pStreamFile</span>"</span><span style='font-size:8.5pt; |
|
@@ -3590,7 +3573,7 @@ |
3590 |
3573 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3591 |
3574 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3592 |
3575 |
|
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
3593 |
|
- |
font-family:Consolas'>oDb.AddCommandParam</span></span></span><span |
|
3576 |
+ |
font-family:Consolas'>server.AddCommandParam</span></span></span><span |
3594 |
3577 |
|
class=GramE><span style='font-size:8.5pt;font-family:Consolas'>(</span></span><span |
3595 |
3578 |
|
style='font-size:8.5pt;font-family:Consolas;color:#A31515'>"<span |
3596 |
3579 |
|
class=SpellE>pEndDate</span>"</span><span style='font-size:8.5pt; |
|
@@ -3610,7 +3593,7 @@ |
3610 |
3593 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3611 |
3594 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3612 |
3595 |
|
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas'>res</span></span><span |
3613 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> = <span class=SpellE>oDb.ExecuteProc</span>(<span |
|
3596 |
+ |
style='font-size:8.5pt;font-family:Consolas'> = <span class=SpellE>server.ExecuteProc</span>(<span |
3614 |
3597 |
|
style='color:blue'>out</span> <span class=SpellE>strNewObjectId</span>);<o:p></o:p></span></p> |
3615 |
3598 |
|
|
3616 |
3599 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
@@ -3679,18 +3662,7 @@ |
3679 |
3662 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3680 |
3663 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3681 |
3664 |
|
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
3682 |
|
- |
font-family:Consolas;color:blue'>var</span></span></span><span |
3683 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> <span class=SpellE>oDb</span> = <span |
3684 |
|
- |
class=SpellE>server.DatabaseFunctions</span>;<o:p></o:p></span></p> |
3685 |
|
- |
|
3686 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3687 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3688 |
|
- |
none'><span style='font-size:8.5pt;font-family:Consolas'><o:p> </o:p></span></p> |
3689 |
|
- |
|
3690 |
|
- |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3691 |
|
- |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3692 |
|
- |
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
3693 |
|
- |
font-family:Consolas'>oDb.StartNewCommand</span></span></span><span |
|
3665 |
+ |
font-family:Consolas'>server.StartNewCommand</span></span></span><span |
3694 |
3666 |
|
class=GramE><span style='font-size:8.5pt;font-family:Consolas'>(</span></span><span |
3695 |
3667 |
|
style='font-size:8.5pt;font-family:Consolas;color:#A31515'>"<span |
3696 |
3668 |
|
class=SpellE>csp_BroadcastMessage</span>"</span><span style='font-size: |
|
@@ -3699,7 +3671,7 @@ |
3699 |
3671 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3700 |
3672 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3701 |
3673 |
|
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
3702 |
|
- |
font-family:Consolas'>oDb.AddCommandParam</span></span></span><span |
|
3674 |
+ |
font-family:Consolas'>server.AddCommandParam</span></span></span><span |
3703 |
3675 |
|
class=GramE><span style='font-size:8.5pt;font-family:Consolas'>(</span></span><span |
3704 |
3676 |
|
style='font-size:8.5pt;font-family:Consolas;color:#A31515'>"<span |
3705 |
3677 |
|
class=SpellE>pObjectIdObjectId</span>"</span><span style='font-size:8.5pt; |
|
@@ -3713,7 +3685,7 @@ |
3713 |
3685 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3714 |
3686 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3715 |
3687 |
|
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas'>res</span></span><span |
3716 |
|
- |
style='font-size:8.5pt;font-family:Consolas'> = <span class=SpellE>oDb.ExecuteProc</span>();<o:p></o:p></span></p> |
|
3688 |
+ |
style='font-size:8.5pt;font-family:Consolas'> = <span class=SpellE>server.ExecuteProc</span>();<o:p></o:p></span></p> |
3717 |
3689 |
|
|
3718 |
3690 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3719 |
3691 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
@@ -3785,7 +3757,7 @@ |
3785 |
3757 |
|
contained in the CUDLI interface via the data dictionary notes and the stored |
3786 |
3758 |
|
procedure and view/table interfaces.<o:p></o:p></span></p> |
3787 |
3759 |
|
|
3788 |
|
- |
<h2><a name="_Toc366578046">Changing Database Focus</a></h2> |
|
3760 |
+ |
<h2><a name="_Toc376966611">Changing Database Focus</a></h2> |
3789 |
3761 |
|
|
3790 |
3762 |
|
<p class=MsoNormal><span style='font-size:8.0pt'>By default when you attach to |
3791 |
3763 |
|
the Unity Connection server you are connected to the <span class=SpellE><b |
|
@@ -3906,19 +3878,482 @@ |
3906 |
3878 |
|
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
3907 |
3879 |
|
none'><span style='font-size:8.5pt;font-family:Consolas'><o:p> </o:p></span></p> |
3908 |
3880 |
|
|
3909 |
|
- |
<h2><a name="_Toc366578047">Examples</a></h2> |
|
3881 |
+ |
<h2><a name="_Toc376966612">Checking Connection Version</a></h2> |
3910 |
3882 |
|
|
3911 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>Coming soon…<o:p></o:p></span></p> |
|
3883 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>One common task you may need |
|
3884 |
+ |
to do (I certainly do) is check the version of Unity Connection your |
|
3885 |
+ |
application is attached to.<span style='mso-spacerun:yes'> </span>Based |
|
3886 |
+ |
on which version you may need to expose more/fewer features or fetch different |
|
3887 |
+ |
data.<span style='mso-spacerun:yes'> </span>The SDK comes with handy |
|
3888 |
+ |
methods to make this just about trivial.<o:p></o:p></span></p> |
|
3889 |
+ |
|
|
3890 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>When you log into Unity |
|
3891 |
+ |
Connection via the SDK it fetches a number of important pieces of data from the |
|
3892 |
+ |
server and makes them available to you.<span style='mso-spacerun:yes'> |
|
3893 |
+ |
</span>Items such as the primary location object identifier for the server, the |
|
3894 |
+ |
greetings administrator role id (needed for adding owners to call handlers for |
|
3895 |
+ |
instance) and the version information is parsed and broken out into its |
|
3896 |
+ |
major/minor/rev/build/<span class=SpellE>es</span> components.<span |
|
3897 |
+ |
style='mso-spacerun:yes'> </span><o:p></o:p></span></p> |
|
3898 |
+ |
|
|
3899 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>Also included is a handy |
|
3900 |
+ |
function that can be used to see if the version of Unity Connection is at least |
|
3901 |
+ |
at a specified level or higher.<span style='mso-spacerun:yes'> </span>So |
|
3902 |
+ |
for instance to check if the Unity Connection server attached is at least |
|
3903 |
+ |
8.6(2) or later you can do that like this:<o:p></o:p></span></p> |
|
3904 |
+ |
|
|
3905 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
3912 |
3906 |
|
|
3913 |
3907 |
|
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
3914 |
|
- |
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; |
|
3908 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
3909 |
+ |
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas; |
|
3910 |
+ |
color:blue;background:white;mso-highlight:white'>if</span></span><span |
|
3911 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
3912 |
+ |
mso-highlight:white'> (<span class=SpellE>server.IsConnectionVersionAtLeast</span>(8, |
|
3913 |
+ |
6, 2,0))<o:p></o:p></span></p> |
|
3914 |
+ |
|
|
3915 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
3916 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
3917 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
3918 |
+ |
white;mso-highlight:white'>{<o:p></o:p></span></p> |
|
3919 |
+ |
|
|
3920 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
3921 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
3922 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
3923 |
+ |
white;mso-highlight:white'><span style='mso-spacerun:yes'> |
|
3924 |
+ |
</span></span><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
|
3925 |
+ |
font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white'>Console</span><span |
|
3926 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
3927 |
+ |
mso-highlight:white'>.WriteLine</span></span></span><span class=GramE><span |
|
3928 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
3929 |
+ |
mso-highlight:white'>(</span></span><span style='font-size:8.5pt;font-family: |
|
3930 |
+ |
Consolas;color:#A31515;background:white;mso-highlight:white'>"Version is |
|
3931 |
+ |
greater than 8.6(2)"</span><span style='font-size:8.5pt;font-family:Consolas; |
|
3932 |
+ |
color:black;background:white;mso-highlight:white'>);<o:p></o:p></span></p> |
|
3933 |
+ |
|
|
3934 |
+ |
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:8.5pt; |
|
3935 |
+ |
font-family:Consolas;color:black;background:white;mso-highlight:white'>}</span><span |
|
3936 |
+ |
style='font-size:8.5pt'><o:p></o:p></span></p> |
|
3937 |
+ |
|
|
3938 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>You can also provide build and |
|
3939 |
+ |
ES levels, although the need to know that level of detail is pretty rare.<o:p></o:p></span></p> |
|
3940 |
+ |
|
|
3941 |
+ |
<h2><a name="_Toc376966613">Checking for Extension Conflicts</a></h2> |
|
3942 |
+ |
|
|
3943 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>Another common task when |
|
3944 |
+ |
creating users (or call handlers perhaps) is to check if there’s an |
|
3945 |
+ |
extension within the partition you are creating the user in that |
|
3946 |
+ |
conflicts.<span style='mso-spacerun:yes'> </span>So let’s see a typical |
|
3947 |
+ |
example here.<span style='mso-spacerun:yes'> </span>We want to create a |
|
3948 |
+ |
new user with extension 1234 in the partition of the default user template – |
|
3949 |
+ |
we need to fetch the partition ID and then check for conflict presenting a |
|
3950 |
+ |
usable description of the conflicting object to the user (for instance “distribution |
|
3951 |
+ |
list ‘all subscribers’”).<o:p></o:p></span></p> |
|
3952 |
+ |
|
|
3953 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'><o:p> </o:p></span></p> |
|
3954 |
+ |
|
|
3955 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
3956 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
3957 |
+ |
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas; |
|
3958 |
+ |
color:blue;background:white;mso-highlight:white'>string</span></span><span |
|
3959 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
3960 |
+ |
mso-highlight:white'> <span class=SpellE>strSql</span> = </span><span |
|
3961 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:#A31515;background:white; |
|
3962 |
+ |
mso-highlight:white'>"SELECT <span class=SpellE>PartitionObjectId</span> |
|
3963 |
+ |
from <span class=SpellE>vw_SubscriberTemplate</span> WHERE Alias=?"</span><span |
|
3964 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
3965 |
+ |
mso-highlight:white'>;<o:p></o:p></span></p> |
|
3966 |
+ |
|
|
3967 |
+ |
<p class=MsoNormal style='margin-top:0in;text-indent:.5in;mso-layout-grid-align: |
|
3968 |
+ |
none;text-autospace:none'><span class=GramE><span style='font-size:8.5pt; |
|
3969 |
+ |
font-family:Consolas;color:blue;background:white;mso-highlight:white'>string</span></span><span |
|
3970 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
3971 |
+ |
mso-highlight:white'> <span class=SpellE>strPartionId</span> = <span |
|
3972 |
+ |
class=SpellE>server.GetSingleValueFromQuery</span>(<span class=SpellE>strSql</span>, |
|
3973 |
+ |
</span><span style='font-size:8.5pt;font-family:Consolas;color:blue;background: |
|
3974 |
+ |
white;mso-highlight:white'>false</span><span style='font-size:8.5pt;font-family: |
|
3975 |
+ |
Consolas;color:black;background:white;mso-highlight:white'>, </span><span |
|
3976 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:#A31515;background:white; |
|
3977 |
+ |
mso-highlight:white'>""</span><span style='font-size:8.5pt; |
|
3978 |
+ |
font-family:Consolas;color:black;background:white;mso-highlight:white'>,<o:p></o:p></span></p> |
|
3979 |
+ |
|
|
3980 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
3981 |
+ |
margin-left:1.0in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
3982 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
3983 |
+ |
white;mso-highlight:white'><span style='mso-spacerun:yes'> </span></span><span |
|
3984 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:#A31515;background:white; |
|
3985 |
+ |
mso-highlight:white'>"<span class=SpellE><span class=GramE>voicemailusertemplate</span></span>"</span><span |
|
3986 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
3987 |
+ |
mso-highlight:white'>);<o:p></o:p></span></p> |
|
3988 |
+ |
|
|
3989 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
3990 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
3991 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
3992 |
+ |
white;mso-highlight:white'><o:p> </o:p></span></p> |
|
3993 |
+ |
|
|
3994 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
3995 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
3996 |
+ |
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas; |
|
3997 |
+ |
color:blue;background:white;mso-highlight:white'>string</span></span><span |
|
3998 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
3999 |
+ |
mso-highlight:white'> <span class=SpellE>strDescription</span>;<o:p></o:p></span></p> |
|
4000 |
+ |
|
|
4001 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4002 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4003 |
+ |
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas; |
|
4004 |
+ |
color:blue;background:white;mso-highlight:white'>if</span></span><span |
|
4005 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4006 |
+ |
mso-highlight:white'> (<span class=SpellE>server.ExtensionExists</span>(</span><span |
|
4007 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:#A31515;background:white; |
|
4008 |
+ |
mso-highlight:white'>"1234"</span><span style='font-size:8.5pt; |
|
4009 |
+ |
font-family:Consolas;color:black;background:white;mso-highlight:white'>, <span |
|
4010 |
+ |
class=SpellE>strPartionId</span>, </span><span style='font-size:8.5pt; |
|
4011 |
+ |
font-family:Consolas;color:blue;background:white;mso-highlight:white'>out</span><span |
|
4012 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4013 |
+ |
mso-highlight:white'> <span class=SpellE>strDescription</span>))<o:p></o:p></span></p> |
|
4014 |
+ |
|
|
4015 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4016 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4017 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4018 |
+ |
white;mso-highlight:white'>{<o:p></o:p></span></p> |
|
4019 |
+ |
|
|
4020 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4021 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4022 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4023 |
+ |
white;mso-highlight:white'><span style='mso-spacerun:yes'> |
|
4024 |
+ |
</span></span><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
|
4025 |
+ |
font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white'>Console</span><span |
|
4026 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4027 |
+ |
mso-highlight:white'>.WriteLine</span></span></span><span class=GramE><span |
|
4028 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4029 |
+ |
mso-highlight:white'>(</span></span><span style='font-size:8.5pt;font-family: |
|
4030 |
+ |
Consolas;color:#A31515;background:white;mso-highlight:white'>"Conflict:"</span><span |
|
4031 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4032 |
+ |
mso-highlight:white'>+<span class=SpellE>strDescription</span>);<o:p></o:p></span></p> |
|
4033 |
+ |
|
|
4034 |
+ |
<p class=MsoNormal style='margin-left:.5in'><span style='font-size:8.5pt; |
|
4035 |
+ |
font-family:Consolas;color:black;background:white;mso-highlight:white'>}</span><span |
|
4036 |
+ |
style='font-size:8.5pt'><o:p></o:p></span></p> |
|
4037 |
+ |
|
|
4038 |
+ |
<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; |
3915 |
4039 |
|
background:white'><a name="_Roles_and_Policies"></a><a name="_Schedules_1"></a><a |
3916 |
4040 |
|
name="_Languages"></a><span style='font-size:8.5pt;font-family:Consolas; |
3917 |
4041 |
|
color:black'><o:p> </o:p></span></p> |
3918 |
4042 |
|
|
3919 |
|
- |
<h1><a name="_Toc366578048">Revision History</a></h1> |
|
4043 |
+ |
<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; |
|
4044 |
+ |
background:white'><span style='font-size:8.0pt;mso-bidi-font-family:Arial; |
|
4045 |
+ |
color:black'>Pretty straight forward – the description string will |
|
4046 |
+ |
contain the object’s alias/name and its type so the user can present a |
|
4047 |
+ |
usable message to the admin or user.<o:p></o:p></span></p> |
|
4048 |
+ |
|
|
4049 |
+ |
<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; |
|
4050 |
+ |
background:white'><span style='font-size:8.0pt;mso-bidi-font-family:Arial; |
|
4051 |
+ |
color:black'><o:p> </o:p></span></p> |
|
4052 |
+ |
|
|
4053 |
+ |
<h2><a name="_Toc376966614">Finding Objects by Name, Extension and/or Alias</a></h2> |
|
4054 |
+ |
|
|
4055 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>The SDK provides several “<span |
|
4056 |
+ |
class=SpellE><b style='mso-bidi-font-weight:normal'>Find</b>xxx</span>” |
|
4057 |
+ |
methods off the <span class=SpellE>UnityConnectionServerOdbcSdk</span> class |
|
4058 |
+ |
that can save you time when searching for objects.<span |
|
4059 |
+ |
style='mso-spacerun:yes'> </span>They all work similarly; let’s |
|
4060 |
+ |
look at finding a user.<span style='mso-spacerun:yes'> </span>You can |
|
4061 |
+ |
search by alias or extension or both and you can specify if the search is local |
|
4062 |
+ |
only (meaning homed on the server you are attached to) or anywhere in the |
|
4063 |
+ |
global directory if there is a network of Connection servers involved.<span |
|
4064 |
+ |
style='mso-spacerun:yes'> </span>A count of matches is returned as an out |
|
4065 |
+ |
parameter so you can check if there’s more than 1 match found (can happen |
|
4066 |
+ |
with extensions when partitions are in use for instance).<span |
|
4067 |
+ |
style='mso-spacerun:yes'> </span>Again a description is also passed back |
|
4068 |
+ |
as an out parameter for easy presentation options.<o:p></o:p></span></p> |
|
4069 |
+ |
|
|
4070 |
+ |
<p class=MsoNormal><span style='mso-spacerun:yes'> </span></p> |
|
4071 |
+ |
|
|
4072 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4073 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4074 |
+ |
none'><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
|
4075 |
+ |
font-family:Consolas;color:blue;background:white;mso-highlight:white'>int</span></span></span><span |
|
4076 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4077 |
+ |
mso-highlight:white'> <span class=SpellE>iCount</span>;<o:p></o:p></span></p> |
|
4078 |
+ |
|
|
4079 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4080 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4081 |
+ |
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas; |
|
4082 |
+ |
color:blue;background:white;mso-highlight:white'>string</span></span><span |
|
4083 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4084 |
+ |
mso-highlight:white'> <span class=SpellE>strDescription</span>;<o:p></o:p></span></p> |
|
4085 |
+ |
|
|
4086 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4087 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4088 |
+ |
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas; |
|
4089 |
+ |
color:blue;background:white;mso-highlight:white'>string</span></span><span |
|
4090 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4091 |
+ |
mso-highlight:white'> <span class=SpellE>strObjectId</span>;<o:p></o:p></span></p> |
|
4092 |
+ |
|
|
4093 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4094 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4095 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4096 |
+ |
white;mso-highlight:white'><span |
|
4097 |
+ |
style='mso-spacerun:yes'> |
|
4098 |
+ |
</span><o:p></o:p></span></p> |
|
4099 |
+ |
|
|
4100 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4101 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4102 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:green;background: |
|
4103 |
+ |
white;mso-highlight:white'>//find by alias, can only be one</span><span |
|
4104 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4105 |
+ |
mso-highlight:white'><o:p></o:p></span></p> |
|
4106 |
+ |
|
|
4107 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4108 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4109 |
+ |
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas; |
|
4110 |
+ |
color:blue;background:white;mso-highlight:white'>if</span></span><span |
|
4111 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4112 |
+ |
mso-highlight:white'> (<span class=SpellE>server.FindUserByAliasOrExtension</span>(</span><span |
|
4113 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:#A31515;background:white; |
|
4114 |
+ |
mso-highlight:white'>"<span class=SpellE>jlindborg</span>"</span><span |
|
4115 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4116 |
+ |
mso-highlight:white'>, </span><span style='font-size:8.5pt;font-family:Consolas; |
|
4117 |
+ |
color:#A31515;background:white;mso-highlight:white'>""</span><span |
|
4118 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4119 |
+ |
mso-highlight:white'>, </span><span style='font-size:8.5pt;font-family:Consolas; |
|
4120 |
+ |
color:blue;background:white;mso-highlight:white'>true</span><span |
|
4121 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4122 |
+ |
mso-highlight:white'>, </span><span style='font-size:8.5pt;font-family:Consolas; |
|
4123 |
+ |
color:blue;background:white;mso-highlight:white'>out</span><span |
|
4124 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4125 |
+ |
mso-highlight:white'> <span class=SpellE>iCount</span>, <o:p></o:p></span></p> |
|
4126 |
+ |
|
|
4127 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4128 |
+ |
margin-left:.5in;margin-bottom:.0001pt;text-indent:.5in;mso-layout-grid-align: |
|
4129 |
+ |
none;text-autospace:none'><span class=GramE><span style='font-size:8.5pt; |
|
4130 |
+ |
font-family:Consolas;color:blue;background:white;mso-highlight:white'>out</span></span><span |
|
4131 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4132 |
+ |
mso-highlight:white'> <span class=SpellE>strObjectId</span>, </span><span |
|
4133 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:blue;background:white; |
|
4134 |
+ |
mso-highlight:white'>out</span><span style='font-size:8.5pt;font-family:Consolas; |
|
4135 |
+ |
color:black;background:white;mso-highlight:white'> <span class=SpellE>strDescription</span>))<o:p></o:p></span></p> |
|
4136 |
+ |
|
|
4137 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4138 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4139 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4140 |
+ |
white;mso-highlight:white'>{<o:p></o:p></span></p> |
|
4141 |
+ |
|
|
4142 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4143 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4144 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4145 |
+ |
white;mso-highlight:white'><span style='mso-spacerun:yes'> |
|
4146 |
+ |
</span></span><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
|
4147 |
+ |
font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white'>Console</span><span |
|
4148 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4149 |
+ |
mso-highlight:white'>.WriteLine</span></span></span><span class=GramE><span |
|
4150 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4151 |
+ |
mso-highlight:white'>(</span></span><span style='font-size:8.5pt;font-family: |
|
4152 |
+ |
Consolas;color:#A31515;background:white;mso-highlight:white'>"User found, |
|
4153 |
+ |
ID="</span><span style='font-size:8.5pt;font-family:Consolas;color:black; |
|
4154 |
+ |
background:white;mso-highlight:white'>+<span class=SpellE>strObjectId</span>);<o:p></o:p></span></p> |
|
4155 |
+ |
|
|
4156 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4157 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4158 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4159 |
+ |
white;mso-highlight:white'>}<o:p></o:p></span></p> |
|
4160 |
+ |
|
|
4161 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4162 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4163 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4164 |
+ |
white;mso-highlight:white'><span |
|
4165 |
+ |
style='mso-spacerun:yes'> |
|
4166 |
+ |
</span><o:p></o:p></span></p> |
|
4167 |
+ |
|
|
4168 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4169 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4170 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:green;background: |
|
4171 |
+ |
white;mso-highlight:white'>//find by extension, globally - can be multiple</span><span |
|
4172 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4173 |
+ |
mso-highlight:white'><o:p></o:p></span></p> |
|
4174 |
+ |
|
|
4175 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4176 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4177 |
+ |
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas; |
|
4178 |
+ |
color:blue;background:white;mso-highlight:white'>if</span></span><span |
|
4179 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4180 |
+ |
mso-highlight:white'> (<span class=SpellE>server.FindUserByAliasOrExtension</span>(</span><span |
|
4181 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:#A31515;background:white; |
|
4182 |
+ |
mso-highlight:white'>""</span><span style='font-size:8.5pt; |
|
4183 |
+ |
font-family:Consolas;color:black;background:white;mso-highlight:white'>, </span><span |
|
4184 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:#A31515;background:white; |
|
4185 |
+ |
mso-highlight:white'>"1234"</span><span style='font-size:8.5pt; |
|
4186 |
+ |
font-family:Consolas;color:black;background:white;mso-highlight:white'>, </span><span |
|
4187 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:blue;background:white; |
|
4188 |
+ |
mso-highlight:white'>false</span><span style='font-size:8.5pt;font-family:Consolas; |
|
4189 |
+ |
color:black;background:white;mso-highlight:white'>, </span><span |
|
4190 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:blue;background:white; |
|
4191 |
+ |
mso-highlight:white'>out</span><span style='font-size:8.5pt;font-family:Consolas; |
|
4192 |
+ |
color:black;background:white;mso-highlight:white'> <span class=SpellE>iCount</span>, |
|
4193 |
+ |
<o:p></o:p></span></p> |
|
4194 |
+ |
|
|
4195 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4196 |
+ |
margin-left:.5in;margin-bottom:.0001pt;text-indent:.5in;mso-layout-grid-align: |
|
4197 |
+ |
none;text-autospace:none'><span class=GramE><span style='font-size:8.5pt; |
|
4198 |
+ |
font-family:Consolas;color:blue;background:white;mso-highlight:white'>out</span></span><span |
|
4199 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4200 |
+ |
mso-highlight:white'> <span class=SpellE>strObjectId</span>, </span><span |
|
4201 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:blue;background:white; |
|
4202 |
+ |
mso-highlight:white'>out</span><span style='font-size:8.5pt;font-family:Consolas; |
|
4203 |
+ |
color:black;background:white;mso-highlight:white'> <span class=SpellE>strDescription</span>))<o:p></o:p></span></p> |
|
4204 |
+ |
|
|
4205 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4206 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4207 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4208 |
+ |
white;mso-highlight:white'>{<o:p></o:p></span></p> |
|
4209 |
+ |
|
|
4210 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4211 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4212 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4213 |
+ |
white;mso-highlight:white'><span style='mso-spacerun:yes'> </span><span |
|
4214 |
+ |
style='mso-spacerun:yes'> </span></span><span class=GramE><span |
|
4215 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:blue;background:white; |
|
4216 |
+ |
mso-highlight:white'>if</span></span><span style='font-size:8.5pt;font-family: |
|
4217 |
+ |
Consolas;color:black;background:white;mso-highlight:white'> (<span |
|
4218 |
+ |
class=SpellE>iCount</span> > 1)<o:p></o:p></span></p> |
|
4219 |
+ |
|
|
4220 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4221 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4222 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4223 |
+ |
white;mso-highlight:white'><span style='mso-spacerun:yes'> |
|
4224 |
+ |
</span>{<o:p></o:p></span></p> |
|
4225 |
+ |
|
|
4226 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4227 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4228 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4229 |
+ |
white;mso-highlight:white'><span |
|
4230 |
+ |
style='mso-spacerun:yes'> </span></span><span |
|
4231 |
+ |
class=SpellE><span class=GramE><span style='font-size:8.5pt;font-family:Consolas; |
|
4232 |
+ |
color:#2B91AF;background:white;mso-highlight:white'>Console</span><span |
|
4233 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4234 |
+ |
mso-highlight:white'>.WriteLine</span></span></span><span class=GramE><span |
|
4235 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4236 |
+ |
mso-highlight:white'>(</span></span><span style='font-size:8.5pt;font-family: |
|
4237 |
+ |
Consolas;color:#A31515;background:white;mso-highlight:white'>"More than |
|
4238 |
+ |
one user found in directory"</span><span style='font-size:8.5pt; |
|
4239 |
+ |
font-family:Consolas;color:black;background:white;mso-highlight:white'>);<o:p></o:p></span></p> |
|
4240 |
+ |
|
|
4241 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4242 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4243 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4244 |
+ |
white;mso-highlight:white'><span style='mso-spacerun:yes'> |
|
4245 |
+ |
</span>}<o:p></o:p></span></p> |
|
4246 |
+ |
|
|
4247 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4248 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4249 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4250 |
+ |
white;mso-highlight:white'><span style='mso-spacerun:yes'> |
|
4251 |
+ |
</span></span><span class=GramE><span style='font-size:8.5pt;font-family:Consolas; |
|
4252 |
+ |
color:blue;background:white;mso-highlight:white'>else</span></span><span |
|
4253 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4254 |
+ |
mso-highlight:white'><o:p></o:p></span></p> |
|
4255 |
+ |
|
|
4256 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4257 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4258 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4259 |
+ |
white;mso-highlight:white'><span style='mso-spacerun:yes'> |
|
4260 |
+ |
</span>{<o:p></o:p></span></p> |
|
4261 |
+ |
|
|
4262 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4263 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4264 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4265 |
+ |
white;mso-highlight:white'><span |
|
4266 |
+ |
style='mso-spacerun:yes'> </span></span><span |
|
4267 |
+ |
class=SpellE><span class=GramE><span style='font-size:8.5pt;font-family:Consolas; |
|
4268 |
+ |
color:#2B91AF;background:white;mso-highlight:white'>Console</span><span |
|
4269 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4270 |
+ |
mso-highlight:white'>.WriteLine</span></span></span><span class=GramE><span |
|
4271 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4272 |
+ |
mso-highlight:white'>(</span></span><span style='font-size:8.5pt;font-family: |
|
4273 |
+ |
Consolas;color:#A31515;background:white;mso-highlight:white'>"One user |
|
4274 |
+ |
found:"</span><span style='font-size:8.5pt;font-family:Consolas; |
|
4275 |
+ |
color:black;background:white;mso-highlight:white'>+<span class=SpellE>strDescription</span>);<o:p></o:p></span></p> |
|
4276 |
+ |
|
|
4277 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4278 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4279 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4280 |
+ |
white;mso-highlight:white'><span style='mso-spacerun:yes'> |
|
4281 |
+ |
</span>}<o:p></o:p></span></p> |
|
4282 |
+ |
|
|
4283 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4284 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4285 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4286 |
+ |
white;mso-highlight:white'>}<o:p></o:p></span></p> |
|
4287 |
+ |
|
|
4288 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4289 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4290 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4291 |
+ |
white;mso-highlight:white'><o:p> </o:p></span></p> |
|
4292 |
+ |
|
|
4293 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4294 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4295 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:green;background: |
|
4296 |
+ |
white;mso-highlight:white'>//find by both</span><span style='font-size:8.5pt; |
|
4297 |
+ |
font-family:Consolas;color:black;background:white;mso-highlight:white'><o:p></o:p></span></p> |
|
4298 |
+ |
|
|
4299 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4300 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4301 |
+ |
none'><span class=GramE><span style='font-size:8.5pt;font-family:Consolas; |
|
4302 |
+ |
color:blue;background:white;mso-highlight:white'>if</span></span><span |
|
4303 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4304 |
+ |
mso-highlight:white'> (<span class=SpellE>server.FindUserByAliasOrExtension</span>(</span><span |
|
4305 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:#A31515;background:white; |
|
4306 |
+ |
mso-highlight:white'>"<span class=SpellE>jlindborg</span>"</span><span |
|
4307 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4308 |
+ |
mso-highlight:white'>, </span><span style='font-size:8.5pt;font-family:Consolas; |
|
4309 |
+ |
color:#A31515;background:white;mso-highlight:white'>"1234"</span><span |
|
4310 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4311 |
+ |
mso-highlight:white'>, </span><span style='font-size:8.5pt;font-family:Consolas; |
|
4312 |
+ |
color:blue;background:white;mso-highlight:white'>true</span><span |
|
4313 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4314 |
+ |
mso-highlight:white'>, </span><span style='font-size:8.5pt;font-family:Consolas; |
|
4315 |
+ |
color:blue;background:white;mso-highlight:white'>out</span><span |
|
4316 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4317 |
+ |
mso-highlight:white'> <span class=SpellE>iCount</span>, <o:p></o:p></span></p> |
|
4318 |
+ |
|
|
4319 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4320 |
+ |
margin-left:.5in;margin-bottom:.0001pt;text-indent:.5in;mso-layout-grid-align: |
|
4321 |
+ |
none;text-autospace:none'><span class=GramE><span style='font-size:8.5pt; |
|
4322 |
+ |
font-family:Consolas;color:blue;background:white;mso-highlight:white'>out</span></span><span |
|
4323 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4324 |
+ |
mso-highlight:white'> <span class=SpellE>strObjectId</span>, </span><span |
|
4325 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:blue;background:white; |
|
4326 |
+ |
mso-highlight:white'>out</span><span style='font-size:8.5pt;font-family:Consolas; |
|
4327 |
+ |
color:black;background:white;mso-highlight:white'> <span class=SpellE>strDescription</span>))<o:p></o:p></span></p> |
|
4328 |
+ |
|
|
4329 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4330 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4331 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4332 |
+ |
white;mso-highlight:white'>{<o:p></o:p></span></p> |
|
4333 |
+ |
|
|
4334 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4335 |
+ |
margin-left:.5in;margin-bottom:.0001pt;mso-layout-grid-align:none;text-autospace: |
|
4336 |
+ |
none'><span style='font-size:8.5pt;font-family:Consolas;color:black;background: |
|
4337 |
+ |
white;mso-highlight:white'><span style='mso-spacerun:yes'> |
|
4338 |
+ |
</span></span><span class=SpellE><span class=GramE><span style='font-size:8.5pt; |
|
4339 |
+ |
font-family:Consolas;color:#2B91AF;background:white;mso-highlight:white'>Console</span><span |
|
4340 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4341 |
+ |
mso-highlight:white'>.WriteLine</span></span></span><span class=GramE><span |
|
4342 |
+ |
style='font-size:8.5pt;font-family:Consolas;color:black;background:white; |
|
4343 |
+ |
mso-highlight:white'>(</span></span><span style='font-size:8.5pt;font-family: |
|
4344 |
+ |
Consolas;color:#A31515;background:white;mso-highlight:white'>"User found, |
|
4345 |
+ |
ID="</span><span style='font-size:8.5pt;font-family:Consolas;color:black; |
|
4346 |
+ |
background:white;mso-highlight:white'> + <span class=SpellE>strObjectId</span>);<o:p></o:p></span></p> |
|
4347 |
+ |
|
|
4348 |
+ |
<p class=MsoNormal style='margin-top:0in;margin-right:0in;margin-bottom:0in; |
|
4349 |
+ |
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; |
|
4350 |
+ |
background:white'><span style='font-size:8.5pt;font-family:Consolas;color:black; |
|
4351 |
+ |
background:white;mso-highlight:white'>}</span><span style='font-size:8.5pt; |
|
4352 |
+ |
mso-bidi-font-family:Arial;color:black'><o:p></o:p></span></p> |
|
4353 |
+ |
|
|
4354 |
+ |
<h1><a name="_Toc376966615">Revision History</a></h1> |
3920 |
4355 |
|
|
3921 |
|
- |
<p class=MsoNormal><span style='font-size:8.0pt'>Version 3.0.1 - 1/7/2014<o:p></o:p></span></p> |
|
4356 |
+ |
<p class=MsoNormal><span style='font-size:8.0pt'>Version 3.0.2 - 1/8/2014<o:p></o:p></span></p> |
3922 |
4357 |
|
|
3923 |
4358 |
|
<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l2 level1 lfo8'><![if !supportLists]><span |
3924 |
4359 |
|
style='font-size:8.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; |