1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701
|
<HTML>
<HEAD>
<TITLE></TITLE>
<LINK REL="ToC" HREF="httoc.htm">
<LINK REL="Index" HREF="htindex.htm">
<LINK REL="Next" HREF="aguide07.htm">
<LINK REL="Previous" HREF="aguide05.htm"></HEAD>
<BODY BGCOLOR="#FFFFFF">
<P ALIGN=CENTER>
<A HREF="aguide05.htm" TARGET="_self"><IMG SRC="gaguide/graprev.gif" WIDTH = 32 HEIGHT = 32 BORDER = 0 ALT="Previous Page"></A>
<A HREF="httoc.htm" TARGET="_self"><IMG SRC="gaguide/gratop.gif" WIDTH = 32 HEIGHT = 32 BORDER = 0 ALT="TOC"></A>
<A HREF="htindex.htm" TARGET="_self"><IMG SRC="gaguide/graindex.gif" WIDTH = 32 HEIGHT = 32 BORDER = 0 ALT="Index"></A>
<A HREF="aguide07.htm" TARGET="_self"><IMG SRC="gaguide/granext.gif" WIDTH = 32 HEIGHT = 32 BORDER = 0 ALT="Next Page"></A>
<A NAME="E9E6"></A>
<H1>
<FONT FACE="Arial"><B>NETWORK CONNECTIONS</B></FONT></H1>
<BR>
<BLOCKQUOTE>
<P>The database server and client transfer information between each other through the computer network using a communication protocol<A NAME="I2"></A>.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P><A NAME="I3"></A><A NAME="I4"></A>When a database server process is started, it will publish at least one network name that distinguishes it in the network. We say that the server starts to <I>listen</I> to the network using the given network name. The network name consists of a communication protocol and a server name.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>To establish a connection from a client to a server they both have to be able to use the same communication protocol. The client has to know the network name of the server and often also the location of the server in the network. The client process uses the network name to specify which server it will <I>connect</I> to.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>This chapter will give you information on how to administer network names.
</BLOCKQUOTE>
<A NAME="E10E32"></A>
<P>
<FONT FACE="Arial"><B>Network Names for Servers</B></FONT>
<BLOCKQUOTE>
<P><A NAME="I5"></A><A NAME="I6"></A><A NAME="I7"></A><A NAME="I8"></A><A NAME="I9"></A><A NAME="I10"></A><A NAME="I11"></A><A NAME="I12"></A><A NAME="I13"></A>The network name of a server consists of a <I>communication protocol</I> and a <I>server name</I><A NAME="I14"></A><A NAME="I15"></A>. This combination identifies the server in the network. The network names are defined in configuration file solid.ini in [Com] section with the Listen parameter. The solid.ini file should be located in the server program's working directory or in the directory set by the SOLIDDIR environment variable.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>A server may use an unlimited number of network names<A NAME="I16"></A>. To make establishing connections easier all components of network names are case insensitive.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>Network names are managed on the NETWORK page in SOLID <I>Remote </I><I>Control</I> or directly by editing the server configuration file solid.ini. An example of an entry in solid.ini:
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>[Com]
<BR>Listen = tcpip 1313, nmpipe solid</PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<P>The example contains two network names which are separated by a comma. The first one uses the protocol TCP/IP and the service port 1313, the other one uses the Named Pipes protocol with the name ‘solid’. In our example the ‘tcpip’ and ‘nmpipe’ are communication protocols while ‘1313’ and ‘solid’ are server names.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>If the Listen parameter is not found SOLID uses environment dependent defaults as network names.
</BLOCKQUOTE>
<BLOCKQUOTE>
<HR ALIGN=CENTER>
<P>NOTE 1. When a database server process is started it publishes the network names it starts to listen to. This information is also written to a file named solmsg.out in the located in the same directory as the solid.ini file.
<BR>NOTE 2. Network names must be unique within one host computer. For example, you cannot have two SOLID <I>Servers</I> running, both listening to the same TCP/IP port in one host, but it is possible that the same port number is in use in different hosts. Exceptions to this are the NetBIOS and IPX/SPX protocols, which require that used server names are unique throughout the whole network.
<HR ALIGN=CENTER>
</BLOCKQUOTE>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><B>To Add a Network Name for the Server Using SOLID </B><B><I>Remote Control</I></B><A NAME="I17"></A></FONT></H4>
</BLOCKQUOTE>
<UL>
<BLOCKQUOTE>
<LI>Connect to the server using SOLID <I>Remote Control</I>.
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Select the NETWORK page.
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Press the New button.
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Select a protocol from the Protocol list.
<BR>
<BR>You can only use a protocol that is supported by the server's operating system. An invalid protocol is ignored.
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Type the name of the server in the Server name text box.
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Press the Save button.
<BR>
<BR>After saving the network name, you can see network names currently set in the list on the NETWORK page.
</BLOCKQUOTE></UL>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><B>To Modify a Network Name</B><A NAME="I18"></A></FONT></H4>
</BLOCKQUOTE>
<UL>
<BLOCKQUOTE>
<LI>Select the network name from the list and press Edit button, or double click the network name in the list.
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Change the protocol or the name of the server.
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Save the settings by pressing the Save button.
</BLOCKQUOTE></UL>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><B>To Remove a Network Name from the Server</B><A NAME="I19"></A></FONT></H4>
</BLOCKQUOTE>
<UL>
<BLOCKQUOTE>
<LI>Select the protocol from the list.
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Press the Remove button.
</BLOCKQUOTE></UL>
<BLOCKQUOTE>
<HR ALIGN=CENTER>
<P>NOTE. The modifications to network names become active immediately after pressing the Save or Remove button<A NAME="I20"></A>.
<BR>HINT. You can use the Enabled check box to select the network names you use. You can disable and enable a protocol by checking the Enabled checkbox in the Edit dialog box.
<HR ALIGN=CENTER>
</BLOCKQUOTE>
<A NAME="E10E33"></A>
<P>
<FONT FACE="Arial"><B>Network Name for Clients</B><A NAME="I21"></A></FONT>
<BLOCKQUOTE>
<P>The network name of a client consists of a <I>communication protocol, </I>an optional<I> host computer name</I> and a <I>server name</I><A NAME="I22"></A><A NAME="I23"></A>. By this combination the client specifies the server it will establish a connection to. The communication protocol and the server name must match the ones that the server is using in its network listening name. Most protocols need additionally the host computer name to be specified if the client and server are running on different machines. All components of the client’s network name are case insensitive.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>The client’s network names are defined in the configuration file solid.ini in the [Com] section with the Connect parameter. The solid.ini file should be located in the client program's working directory or in the directory set by the SOLIDDIR environment variable.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>The following connect line in the solid.ini of the client workstation will connect a client application using the TCP/IP protocol to a SOLID <I>Server</I> running on a host computer named ‘spiff’ and listening with the name (port number in this case) ‘1313’.
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>[Com]
<BR>Connect = tcpip spiff 1313</PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<P>If the Connect parameter is not found in the configuration file solid.ini the client uses the environment dependent default instead. The defaults for the Listen and Connect parameters are selected so that the client will always connect to a local SOLID <I>Server </I>listening with a default network name. So the local communication (inside one machine) does not necessarily need a configuration file for establishing a connection.
</BLOCKQUOTE>
<BLOCKQUOTE>
<HR ALIGN=CENTER>
<P>NOTE 1. When the connection is requested by a client application program using the SQLConnect function the network name of the server is given as a Data Source Name parameter for that function. If the given name is not an empty string, its contents are used as a network name and the Connect parameter in the configuration file is omitted. If an empty string is passed, the possibly existing Connect parameter is used.
<BR>NOTE 2. In the Windows (3.x, 95, NT) operating system, the connection can be made by using the SOLID ODBC Driver. When a client program is using the SOLID ODBC Driver, the network name of the server can be used as the ODBC Data Source Name and the Connect parameter in the configuration file is not used.<A NAME="I24"></A><A NAME="I25"></A>
<HR ALIGN=CENTER>
</BLOCKQUOTE>
<A NAME="E10E34"></A>
<P>
<FONT FACE="Arial"><B>Communication Protocols</B><A NAME="I26"></A><A NAME="I27"></A><A NAME="I28"></A></FONT>
<BLOCKQUOTE>
<P>A client process and SOLID <I>Server</I> communicate with each other by using computer networks and network protocols. A network operating system - for example, IBM LAN Server or Novell NetWare - is not necessarily needed. You only need a functioning communication protocol for both ends. Supported communication protocols depend on the type of computer and network you are using.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>The following paragraphs describe the supported communication protocols and common environments that may be used and also show the required forms of network names for the various protocols.
</BLOCKQUOTE>
<P>
<FONT FACE="Arial"><A NAME="I29"></A><A NAME="I30"></A><A NAME="I31"></A><A NAME="I32"></A><A NAME="I33"></A><A NAME="I34"></A><A NAME="I35"></A><A NAME="I36"></A><A NAME="I37"></A><A NAME="I38"></A><A NAME="I39"></A><A NAME="I40"></A><A NAME="I41"></A><A NAME="I42"></A><A NAME="I43"></A><A NAME="I44"></A><A NAME="I45"></A><A NAME="I46"></A><A NAME="I47"></A><A NAME="I48"></A><A NAME="I49"></A>Shared Memory<A NAME="I50"></A></FONT>
<BLOCKQUOTE>
<P>Usually the fastest way two processes can exchange information is to use Shared Memory. This can be used only when the server and client processes are both running in the same computer. The Shared Memory protocol uses a shared memory location for moving data from one process to another.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>To use the Shared Memory protocol in SOLID <I>Server, </I>select ShMem from the list of protocols in SOLID <I>Remote Control </I>and enter a server name<A NAME="I51"></A>. The server name has to be unique only in this computer.
</BLOCKQUOTE>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><B>The Format Used in the </B><B>solid.ini</B><B> File</B><A NAME="I52"></A></FONT></H4>
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>Server Listen = shmem <server name>
<BR>Client Connect = shmem <server name></PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<HR ALIGN=CENTER>
<P>NOTE 1. Server names must be character strings less than 128 characters long.
<BR>NOTE 2. This protocol cannot generally be used if the client and server programs run under different operating systems in the same computer. For example, you cannot use this protocol to communicate from a client process running under a Windows OS/2 session to a server running on the same computer under native OS/2.
<HR ALIGN=CENTER>
</BLOCKQUOTE>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><A NAME="I53"></A><A NAME="I54"></A><A NAME="I55"></A><A NAME="I56"></A><A NAME="I57"></A><A NAME="I58"></A><A NAME="I59"></A><B>ShMem32</B><A NAME="I60"></A></FONT></H4>
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>There is a special protocol ShMem32 available when connecting from a Windows 16-bit application to a 32-bit server running on a Windows NT or Windows 95 operating system. This implementation uses the general thunk facility of Win32 API to make the 16- to 32-bit calls possible.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>This is the suggested way of connecting from 16-bit applications, such as SOLID <I>Remote Control</I> and SOLID <I>SQL Editor</I>, to a native Windows NT or Windows 95 SOLID <I>Server</I> (32-bit) running in the same machine.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>ShMem32 is also available SOLID <I>Server</I> for Windows 16-bit when it is run in Windows 95 or Windows NT. When run in such an environment SOLID <I>Server</I> automatically starts to listen to both 16-bit and 32-bit ShMem protocols with the following specification
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>Listen = ShMem SOLID</PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<P>Client applications first try to connect using the 16-bit version but if it does not succeed, they try ShMem32 with the following specification
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>Connect = ShMem32 SOLID</PRE></BLOCKQUOTE>
<P>
<FONT FACE="Arial"><A NAME="I61"></A><A NAME="I62"></A><A NAME="I63"></A><A NAME="I64"></A><A NAME="I65"></A><A NAME="I66"></A><A NAME="I67"></A><A NAME="I68"></A><A NAME="I69"></A><A NAME="I70"></A><A NAME="I71"></A><A NAME="I72"></A><A NAME="I73"></A><A NAME="I74"></A><A NAME="I75"></A><A NAME="I76"></A><A NAME="I77"></A><A NAME="I78"></A><A NAME="I79"></A><A NAME="I80"></A><A NAME="I81"></A><A NAME="I82"></A><A NAME="I83"></A><A NAME="I84"></A><A NAME="I85"></A><A NAME="I86"></A><A NAME="I87"></A><A NAME="I88"></A><A NAME="I89"></A><A NAME="I90"></A><A NAME="I91"></A><A NAME="I92"></A><A NAME="I93"></A><A NAME="I94"></A><A NAME="I95"></A><A NAME="I96"></A><A NAME="I97"></A><A NAME="I98"></A><A NAME="I99"></A>TCP/IP<A NAME="I100"></A></FONT>
<BLOCKQUOTE>
<P>The TCP/IP protocol is typically used for communicating to a server process running under a UNIX operating system<A NAME="I101"></A>. When starting a server using the TCP/IP protocol, you must reserve a port number for it. You will find reserved port numbers in the /etc/services file of your system. Select a free number greater than 1024 since smaller numbers are usually reserved for the operating system.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>To use the TCP/IP protocol, select TCP/IP in the list of protocols in SOLID <I>Remote Control</I> and enter a non-reserved port number.
</BLOCKQUOTE>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><B>The Format Used in the </B><B>solid.ini</B><B> File</B><A NAME="I102"></A></FONT></H4>
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>Server Listen = tcpip <server port number>
<BR>Client Connect = tcpip [host computer name]
<BR> <server port number></PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<HR ALIGN=CENTER>
<P>NOTE 1. If the server is running in the same computer with the client program, the host computer name need not be specified. The client computer has to have the used host name listed in its etc/hosts file or it must be recognized by the DNS (Domain Name Server). You can also give the host computer’s TCP/IP address in dotted decimal format (e.g.: 194.53.94.97) instead of its host name.
<BR>NOTE 2. On Windows NT and UNIX the TCP/IP protocol is usually included in the operating system. On other environments (like Windows, OS/2, VAX/VMS) the TCP/IP software needs to be installed to the system. For a list of supported TCP/IP software, contact your SOLID <I>Server </I>dealer.
<BR>NOTE 3. From SOLID <I>Server</I> version 2.2 the protocol name "wsa" is replaced by "tcp". However the name "wsa" can still be used for backward compatibility.
<HR ALIGN=CENTER>
</BLOCKQUOTE>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><A NAME="I103"></A><A NAME="I104"></A><A NAME="I105"></A><A NAME="I106"></A><A NAME="I107"></A><A NAME="I108"></A><A NAME="I109"></A><B>Using Windows Sockets</B><A NAME="I110"></A><A NAME="I111"></A></FONT></H4>
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>In the Windows operating system a third party software package containing winsock.dll file is required. The SOLID <I>Server </I>Windows Sockets driver has been tested with the following third party Windows Sockets packages:
</BLOCKQUOTE>
<UL>
<BLOCKQUOTE>
<LI>Microsoft Windows
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Digital PATHWORKS v5.0
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Chameleon NetManage
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>FTP’s TCP/IP
</BLOCKQUOTE></UL>
<P>
<FONT FACE="Arial"><A NAME="I112"></A><A NAME="I113"></A>UNIX Pipes<A NAME="I114"></A></FONT>
<BLOCKQUOTE>
<P>The UNIX domain sockets (UNIX Pipes, Named Pipes, portals) are typically used when communicating between two processes running in the same UNIX machine<A NAME="I115"></A>. UNIX Pipes usually have a very good throughput. They are also more secure than TCP/IP since Pipes can only be accessed from clients that run on the computer where the server executes.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>When starting a server using UNIX Pipes, you must reserve a unique listening name (inside that machine) for the server, for instance, 'solid'. Because UNIXes handle the UNIX domain sockets as standard file system entries, there is always a corresponding file created for every listened pipe. In SOLID <I>Server's</I> case, the entries are created under the path '/tmp'. Our example listening name 'solid' creates the directory '/tmp/solunp_SOLID' and shared files into that directory. The '/tmp/solunp_' is a constant prefix for all created objects while the latter part ('SOLID' in this case) is the listening name in upper case format.
</BLOCKQUOTE>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><B>The Format Used in the </B><B>solid.ini</B><B> File</B><A NAME="I116"></A></FONT></H4>
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>Server Listen = upipe <server name>
Client Connect = upipe <server name></PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<HR ALIGN=CENTER>
<P>NOTE 1. Server and client processes must run in the same machine in order to use UNIX Pipes for communication.
<BR>NOTE 2. The SOLID <I>Server</I> process must have a "write" permission to the directory '/tmp'.
<BR>NOTE 3: The client accessing UNIX Pipes must have an "execute" permission to the directory '/tmp'.
<BR>NOTE 4. The directory '/tmp' must exist.
<BR>NOTE 5. UNIX Pipes cannot be used in SCO UNIX.
<HR ALIGN=CENTER>
</BLOCKQUOTE>
<P>
<FONT FACE="Arial">NetBIOS<A NAME="I117"></A></FONT>
<BLOCKQUOTE>
<P>The NetBIOS protocol is commonly used in the Windows (3.x, 95, NT) and OS/2 operating systems<A NAME="I118"></A>.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>To use NetBIOS protocol, select NetBIOS in the list of available protocols in SOLID <I>Remote Control </I>Network page<I>,</I> and enter a non-reserved server name.
</BLOCKQUOTE>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><B>The Format Used in the </B><B>solid.ini</B><B> File</B><A NAME="I119"></A></FONT></H4>
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>Server Listen = netbios [-aLANA_NUMBER] <server name>
<BR>Client Connect = netbios [-aLANA_NUMBER] <server name></PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<HR ALIGN=CENTER>
<P>NOTE 1. The server name must be a character string at most 16 characters long. It may not begin with an asterisk (*).
<BR>NOTE 2. In the above format the optional -aLANA_NUMBER is used to override the default value of the LANA number.
<BR>NOTE 3. In Windows NT the available LANA numbers can be checked using the Network Setup found in the Control Panel. The default value 0 may not be generally very good. You should choose the one(s) where the protocol stack matches the other computers you are using. The LANA number (Network Route: Nbf->Elnk3->Elnk31) that uses NetBEUI as a transport usually functions quite smoothly when used for SOLID communication.
<BR>NOTE 4. The server names have to be unique in the whole network. Establishing a connection or starting the listening using the NetBIOS protocol may be somewhat slow because of the checks needed for uniqueness.
<BR>NOTE 5. SOLID <I>Server</I> and SOLID Client versions 2.2 and newer use all available LANA numbers by default. This makes it unnecessary to specify explicitly which LANA number the client or server should use. For backward compatibility the parameter ‘-aLANA_NUMBER’ remains available.
<HR ALIGN=CENTER>
</BLOCKQUOTE>
<P>
<FONT FACE="Arial"><A NAME="I120"></A><A NAME="I121"></A><A NAME="I122"></A><A NAME="I123"></A><A NAME="I124"></A><A NAME="I125"></A><A NAME="I126"></A><A NAME="I127"></A><A NAME="I128"></A><A NAME="I129"></A><A NAME="I130"></A><A NAME="I131"></A><A NAME="I132"></A><A NAME="I133"></A><A NAME="I134"></A><A NAME="I135"></A><A NAME="I136"></A><A NAME="I137"></A><A NAME="I138"></A><A NAME="I139"></A><A NAME="I140"></A><A NAME="I141"></A><A NAME="I142"></A>Named Pipes<A NAME="I143"></A></FONT>
<BLOCKQUOTE>
<P>Named Pipes is a protocol commonly used in the Windows (WfW, 95, NT) and OS/2 operating systems<A NAME="I144"></A>.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>Windows for Workgroups and Windows 95 support Named Pipes only in client end communication. Windows NT supports Named Pipes both in server and client end communication.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>In OS/2 Named Pipes can always be used locally inside one machine. OS/2 3.0 Warp Connect contains the Lan Requester and hereby also supports a Named Pipes network client. Using Named Pipes from inside another OS/2 system (1.x, 2.x or 3.0 Warp) over a network needs additionally the Lan Requester client software to be installed. To run Named Pipes the server always needs components from the Lan Server product to be installed.
</BLOCKQUOTE>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><B>The Format Used in the </B><B>solid.ini</B><B> File</B><A NAME="I145"></A></FONT></H4>
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>Server Listen = nmpipe <server name>
<BR>Client Connect = nmpipe [host computer name]
<BR> <server name></PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<HR ALIGN=CENTER>
<P>NOTE 1. The server names must be character strings at most 50 characters long.
<BR>NOTE 2. If the server is running in the same computer with the client program, the host computer name should not be specified. The only exception to this is Windows NT: if a Windows 16-bit client application (such as SOLID <I>SQL Editor</I>) is connecting to a native Windows NT process (SOLID <I>Server</I>) the host <A NAME="I146"></A><A NAME="I147"></A><A NAME="I148"></A><A NAME="I149"></A><A NAME="I150"></A><A NAME="I151"></A><A NAME="I152"></A><A NAME="I153"></A>machine name must be specified.
<BR>NOTE 3. In order to connect to the SOLID <I>Server</I> for Windows NT through Named Pipes user must have at least the same rights as the user, who started the server. For example if an administrator starts the server only users with administrator’s rights are able to connect to the server through Named Pipes. Similarly if a user with normal user’s rights starts the server all users with greater rights are able to connect the server through Named Pipes. If a user doesn’t have proper rights, SOLID Communication Error 21306 message will be given. This has been fixed in SOLID <I>Server</I> version 2.1.
<BR>NOTE 4. It is not recommended to use the Named Pipes communication from SOLID <I>Remote Control</I>. The asynchronous nature of SOLID <I>Remote </I><I>Control</I> communication may cause problems with Named Pipes.
<HR ALIGN=CENTER>
</BLOCKQUOTE>
<P>
<FONT FACE="Arial"><A NAME="I154"></A><A NAME="I155"></A><A NAME="I156"></A><A NAME="I157"></A><A NAME="I158"></A><A NAME="I159"></A><A NAME="I160"></A><A NAME="I161"></A><A NAME="I162"></A><A NAME="I163"></A><A NAME="I164"></A><A NAME="I165"></A><A NAME="I166"></A><A NAME="I167"></A><A NAME="I168"></A><A NAME="I169"></A><A NAME="I170"></A><A NAME="I171"></A><A NAME="I172"></A><A NAME="I173"></A><A NAME="I174"></A><A NAME="I175"></A><A NAME="I176"></A><A NAME="I177"></A><A NAME="I178"></A><A NAME="I179"></A><A NAME="I180"></A><A NAME="I181"></A><A NAME="I182"></A><A NAME="I183"></A><A NAME="I184"></A><A NAME="I185"></A><A NAME="I186"></A>DECnet<A NAME="I187"></A></FONT>
<BLOCKQUOTE>
<P>The DECnet protocol is used to connect to a server running on a OpenVMS system<A NAME="I188"></A>. To use this protocol in Windows, you need to have PATHWORKS version 4.0 or later installed to your client computer. To use this protocol in OS/2, you need to have PATHWORKS version 2.0 or later installed to your client computer.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>To use the DECnet protocol, select DECnet in the list of protocols in SOLID <I>Remote Control</I> Network Page and enter a non-reserved server name.
</BLOCKQUOTE>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><B>The Format Used in the </B><B>solid.ini</B><B> File</B><A NAME="I189"></A></FONT></H4>
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>Server Listen = decnet <server name>
<BR>Client Connect = decnet <node name> <server name></PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<HR ALIGN=CENTER>
<P>NOTE. To establish a connection the DECnet node name of the server machine is configured to your node database. The node name can be given either as a node number such as ‘1.1’ or as a node name such as ‘VAX1’.
<HR ALIGN=CENTER>
</BLOCKQUOTE>
<P>
<FONT FACE="Arial"><A NAME="I190"></A>IPX/SPX<A NAME="I191"></A></FONT>
<BLOCKQUOTE>
<P>The IPX/SPX protocol is used to communicate with SOLID <I>Server</I> for Novell Netware<A NAME="I192"></A>.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>SOLID <I>Server</I> for Novell Netware starts listening with the default listening name SOLID if no listening name is specified in the configuration file solid.ini. When SOLID <I>Server</I> starts, it prints out the network and node information of the server machine.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>The SOLID <I>Server</I> listening name can be given as a character string or as a socket number. If the given network name is a valid socket number i.e. hex number with exactly 4 characters (e.g. 400F) SOLID <I>Server</I> starts listening in the given port. If the network name could not be interpreted as a socket number it is treated as a server name character string and is published using Novell NetWare SAP (Service Advertising Protocol).
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>Connecting to a SOLID <I>Server </I>using SAP needs specifying only the correct server name in Connect parameter. If the server is listening using some given port, the full NLM server info (see comment below) has to be given.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>To use the IPX/SPX protocol, select IPX/SPX in the list of protocols in SOLID <I>Remote Control</I> and enter a non-reserved server name.
</BLOCKQUOTE>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><B>The Format Used in the </B><B>solid.ini</B><B> File</B><A NAME="I193"></A></FONT></H4>
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>Server Listen = spx {<server name> | <socket number>}
<BR>Client Connect = spx {<NLM server info> |
<BR> <server name>}</PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<HR ALIGN=CENTER>
<P>NOTE 1. The server names must be less than 48 characters long.
<BR>NOTE 2. In the above format, <NLM server info> stands for a string containing the network number, the node number and the socket number separated by colons. For example, <NLM server info> for network 1, node 1, socket number 1313 is 00000001:000000000001:1313. You can abbreviate the information by removing the leading zeros. The previous server info could thus also be written as 1:1:1313.
<BR><server name> stands for an alphanumeric string.
<BR>NOTE 3. The possibility to use socket numbers as the listening name is supported mainly for historical reasons. SAPing is intended to be the primary method.
<BR>NOTE 4. After removing a network name or shutting down SOLID <I>Server</I> using SOLID <I>Remote Control </I>the server name used may still remain reserved for up to one minute although everything completes successfully. The error ‘network name in use’ is displayed if SOLID <I>Server</I> is restarted immediately. This is a ‘normal’ NetWare SAP feature and happens more often if your network consists of more than one NetWare server. Propagating the SAP cancellation packets to every network node may take a while.
<HR ALIGN=CENTER>
</BLOCKQUOTE>
<P>
<FONT FACE="Arial"><A NAME="I194"></A><A NAME="I195"></A><A NAME="I196"></A><A NAME="I197"></A><A NAME="I198"></A><A NAME="I199"></A><A NAME="I200"></A><A NAME="I201"></A><A NAME="I202"></A><A NAME="I203"></A><A NAME="I204"></A><A NAME="I205"></A><A NAME="I206"></A><A NAME="I207"></A><A NAME="I208"></A><A NAME="I209"></A><A NAME="I210"></A><A NAME="I211"></A><A NAME="I212"></A><A NAME="I213"></A><A NAME="I214"></A><A NAME="I215"></A><A NAME="I216"></A>A Summary of Protocols</FONT>
<BLOCKQUOTE>
<P>The following tables summarize the possible operating systems and required forms for network names for the various communication protocols<A NAME="I217"></A>.
</BLOCKQUOTE>
<BLOCKQUOTE>
<HR ALIGN=CENTER>
<P>NOTE. The following tables contain the protocols and operating systems that were available when this guide was printed. For an updated list, contact your SOLID <I>Server </I>dealer.
<HR ALIGN=CENTER>
</BLOCKQUOTE>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><A NAME="I218"></A><A NAME="I219"></A><A NAME="I220"></A><A NAME="I221"></A><A NAME="I222"></A><A NAME="I223"></A><B>SERVER Protocols and Network Names</B></FONT></H4>
</BLOCKQUOTE>
<BLOCKQUOTE><TABLE>
<TR>
<TD WIDTH=89 VALIGN=top >
<P><B>Protocol</B>
</TD><TD WIDTH=106 VALIGN=top >
<A NAME="E7E134"></A>
<P>Server OS
</TD><TD WIDTH=260 VALIGN=top >
<A NAME="E7E134"></A>
<P>Network name in solid.ini file</TD>
</TR>
<TR>
<TD WIDTH=89 VALIGN=top >
<P>Shared
<BR>Memory
</TD><TD WIDTH=106 VALIGN=top >
<A NAME="E7E135"></A>
<P>Windows 3.x
<BR>WfW
<BR>Windows 95
<BR>Windows NT
<BR>OS/2
</TD><TD WIDTH=260 VALIGN=top >
<A NAME="E7E136"></A>
<P>Listen = shmem <server></TD>
</TR>
<TR>
<TD WIDTH=89 VALIGN=top >
<P>NetBIOS
</TD><TD WIDTH=106 VALIGN=top >
<A NAME="E7E137"></A>
<P>Windows 3.x
<BR>WfW
<BR>Windows 95
<BR>Windows NT
<BR>OS/2
</TD><TD WIDTH=260 VALIGN=top >
<A NAME="E7E138"></A>
<P>Listen = netbios <server></TD>
</TR>
<TR>
<TD WIDTH=89 VALIGN=top >
<P>Named Pipes
</TD><TD WIDTH=106 VALIGN=top >
<A NAME="E7E139"></A>
<P>Windows NT
<BR>OS/2 <SUP>1</SUP>
</TD><TD WIDTH=260 VALIGN=top >
<A NAME="E7E140"></A>
<P>Listen = nmpipe <server></TD>
</TR>
<TR>
<TD WIDTH=89 VALIGN=top >
<P>IPX/SPX
</TD><TD WIDTH=106 VALIGN=top >
<A NAME="E7E141"></A>
<P>Novell Netware
</TD><TD WIDTH=260 VALIGN=top >
<A NAME="E7E141"></A>
<P>Listen = spx <server>
<BR>Listen = spx <socket number></TD>
</TR>
<TR>
<TD WIDTH=89 VALIGN=top >
<P>TCP/IP
<BR>
</TD><TD WIDTH=106 VALIGN=top >
<P>Windows 3.x
<BR>WfW
<BR>Windows 95
<BR>Windows NT
<BR>UNIX
<BR>OS/2 <SUP>4</SUP>
<BR>VAX/VMS <SUP>2</SUP>
<BR>OpenVMS <SUP>2</SUP>
</TD><TD WIDTH=260 VALIGN=top >
<A NAME="E7E142"></A>
<P>Listen = tcpip <port></TD>
</TR>
<TR>
<TD WIDTH=89 VALIGN=top >
<P>UNIX Pipes
</TD><TD WIDTH=106 VALIGN=top >
<A NAME="E7E143"></A>
<P>UNIX
</TD><TD WIDTH=260 VALIGN=top >
<A NAME="E7E143"></A>
<P>Listen = upipe <server></TD>
</TR>
<TR>
<TD WIDTH=89 VALIGN=top >
<A NAME="E7E143"></A>
<P> DECnet
</TD><TD WIDTH=106 VALIGN=top >
<A NAME="E7E144"></A>
<P>Windows 3.x <SUP>3</SUP>
<BR>WfW <SUP>3</SUP>
<BR>VAX/VMS
<BR>OpenVMS
</TD><TD WIDTH=260 VALIGN=top >
<A NAME="E7E145"></A>
<P>Listen = decnet <server></TD></TR>
</TABLE></BLOCKQUOTE>
<BLOCKQUOTE>
<P><A NAME="I224"></A><A NAME="I225"></A><A NAME="I226"></A><A NAME="I227"></A>1) the network server must run LanServer or LanManager server program
<BR>2) requires TCP/IP product (available from Digital)
<BR>3) requires Pathworks for DOS/Windows v 4.1 or later, connect address cannot contain node name, only DECnet node number
<BR>4) requires IBM TCP/IP v 2.0 or later
</BLOCKQUOTE>
<BLOCKQUOTE>
<H4>
<FONT FACE="Arial"><A NAME="I228"></A><A NAME="I229"></A><B>CLIENT Protocols and Network Names</B></FONT></H4>
</BLOCKQUOTE>
<BLOCKQUOTE><TABLE>
<TR>
<TD WIDTH=96 VALIGN=top >
<P><B>Protocol</B>
</TD><TD WIDTH=103 VALIGN=top >
<A NAME="E7E146"></A>
<P>Client OS
</TD><TD WIDTH=256 VALIGN=top >
<A NAME="E7E146"></A>
<P>Network name in solid.ini file</TD>
</TR>
<TR>
<TD WIDTH=96 VALIGN=top >
<P>Shared
<BR>Memory
</TD><TD WIDTH=103 VALIGN=top >
<A NAME="E7E147"></A>
<P>Windows 3.x
<BR>WfW
<BR>Windows 95
<BR>Windows NT
<BR>OS/2
</TD><TD WIDTH=256 VALIGN=top >
<A NAME="E7E148"></A>
<P>Connect = shmem <server></TD>
</TR>
<TR>
<TD WIDTH=96 VALIGN=top >
<P>NetBIOS
</TD><TD WIDTH=103 VALIGN=top >
<A NAME="E7E149"></A>
<P>Windows 3.x
<BR>WfW
<BR>Windows 95
<BR>Windows NT
<BR>OS/2
</TD><TD WIDTH=256 VALIGN=top >
<A NAME="E7E150"></A>
<P>Connect = netbios <server></TD>
</TR>
<TR>
<TD WIDTH=96 VALIGN=top >
<P>Named Pipes
</TD><TD WIDTH=103 VALIGN=top >
<A NAME="E7E151"></A>
<P>WfW
<BR>Windows 95
<BR>Windows NT
<BR>OS/2
</TD><TD WIDTH=256 VALIGN=top >
<A NAME="E7E152"></A>
<P>Connect = nmpipe [host] <server></TD>
</TR>
<TR>
<TD WIDTH=96 VALIGN=top >
<P>IPX/SPX
</TD><TD WIDTH=103 VALIGN=top >
<A NAME="E7E153"></A>
<P>Novell Netware Windows 3.x <SUP>1</SUP>
<BR>Windows 95 <SUP>7</SUP>
<BR>Windows NT <SUP>7</SUP>
<BR>OS/2<SUP>5</SUP>
<BR>WfW <SUP>1</SUP>
</TD><TD WIDTH=256 VALIGN=top >
<A NAME="E7E154"></A>
<P>Connect = spx <server>
<BR>Connect = spx <NLM server info></TD>
</TR>
<TR>
<TD WIDTH=96 VALIGN=top >
<P>TCP/IP
<BR>
</TD><TD WIDTH=103 VALIGN=top >
<P>Windows 3.x
<BR>WfW
<BR>Windows 95
<BR>Windows NT
<BR>UNIX
<BR>OS/2<SUP>6</SUP>
<BR>VAX/VMS <SUP>4</SUP>
<BR>OpenVMS <SUP>4</SUP>
</TD><TD WIDTH=256 VALIGN=top >
<A NAME="E7E155"></A>
<P>Connect = tcpip [host] <port></TD>
</TR>
<TR>
<TD WIDTH=96 VALIGN=top >
<P>UNIX Pipes
</TD><TD WIDTH=103 VALIGN=top >
<A NAME="E7E156"></A>
<P>UNIX
</TD><TD WIDTH=256 VALIGN=top >
<A NAME="E7E156"></A>
<P>Connect = upipe <server></TD>
</TR>
<TR>
<TD WIDTH=96 VALIGN=top >
<P>DECnet
</TD><TD WIDTH=103 VALIGN=top >
<A NAME="E7E157"></A>
<P>Windows 3.x <SUP>2</SUP>
<BR>WfW <SUP>2</SUP>
<BR>VAX/VMS
<BR>OpenVMS
<BR>OS/2 <SUP>3</SUP>
</TD><TD WIDTH=256 VALIGN=top >
<A NAME="E7E158"></A>
<P>Connect = decnet <host> <server></TD></TR>
</TABLE></BLOCKQUOTE>
<BLOCKQUOTE>
<P>1) requires WfW with IPX/SPX or native Novell client support
<BR>2) requires Pathworks for DOS/Windows v 4.1 or later
<BR>3) requires Pathworks for OS/2 2.0 or later
<BR>4) requires TCP/IP product (available from Digital)
<BR>5) requires NetWare client for OS/2
<BR>6) requires IBM TCP/IP v 1.2.1 or later
<BR>7) requires Novell's Netware Client for Windows 95 and Windows NT
</BLOCKQUOTE>
<A NAME="E10E35"></A>
<P>
<FONT FACE="Arial"><B>Logical Data Source Names</B><A NAME="I230"></A></FONT>
<BLOCKQUOTE>
<P>From version 2.2 on, SOLID Clients support Logical Data Source Names. These names can be used for giving a database a descriptive name. This name can be mapped to a network name in three ways:
</BLOCKQUOTE>
<UL>
<BLOCKQUOTE>
<LI>Using the parameter settings in the client’s solid.ini file.
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Using the Windows operating systems registry settings.
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Using settings in a solid.ini file located in the Windows directory.
</BLOCKQUOTE></UL>
<BLOCKQUOTE>
<P>This feature is available on all supported platforms. However, on non-Windows platforms, only the first method is available.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>A SOLID Client attempts to open the file solid.ini first from the directory set by the SOLIDDIR environment variable. If the file is not found from the path specified by this variable or if the variable is not set, an attempt is made to open the file from the current working directory.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>To define a Logical Data Source Name <A NAME="I231"></A>using the solid.ini file, you need to create a solid.ini file containing the section [Data Sources]. In that section you need to enter the ‘logical name’ and ‘network name’ pairs that you want to define. The syntax of the parameters is the following:
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>[Data Sources]
<BR><logical name> = <network name>, <Description></PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<P>In the description field, you may enter comments on the purpose of this logical name.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>If, for example, you want to define a logical name for the application ‘My_application’, and the database is located in a UNIX server that you want to connect to by using TCP/IP. You should include the following lines to the solid.ini file, which you need to place in the working directory of your application:
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>[Data Sources]
<BR>My_application = tcpip irix 1313, Sample data source</PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<P>When your application now calls the Data Source ‘My_application’, the SOLID Client maps this to a call to ‘tcpip irix 1313’.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>On Windows platforms (Windows 3.11, Windows 95 and Windows NT), the registry or a global initialization file can be used to map Data Sources. These follow the standards of mapping ODBC Data Sources on a system.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>In Windows 95 and Windows NT, <A NAME="I232"></A>a Data Source may be defined in the Windows Registry. The entry is searched from the path "software\odbc\odbc.ini"
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>1. first under the root HKEY_CURRENT_USER and if not found,
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>2. under the root HKEY_LOCAL_MACHINE.
</BLOCKQUOTE>
<BLOCKQUOTE>
<P>In Windows 3.11, a Data Source is searched from the file <windir>\odbc.ini, where the entry should be in the following format:
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>[MyDataSource]
<BR>Description = <A free format description>
<BR>NetworkName = <network name of the data source></PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<P>Using the previous example the entry would look as follows:
</BLOCKQUOTE>
<BLOCKQUOTE>
<PRE>[My_Application]
<BR>Description = Sample data source
<BR>NetworkName = tcpip irix 1313</PRE></BLOCKQUOTE>
<BLOCKQUOTE>
<P>The order of resolving a Data Source name in Windows systems is the following:
</BLOCKQUOTE>
<UL>
<BLOCKQUOTE>
<LI>Look for the Data Source Name from the solid.ini file in the current working directory, under the section [Data Source]
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Look for the Data Source Name from the following registry path HKEY_CURRENT_USER\software\odbc\odbc.ini\DSN
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>or, in the Windows 3.11 operating system, <A NAME="I233"></A> the entry is searched from the windir\ODBC.INI file.
</BLOCKQUOTE>
<BLOCKQUOTE>
<LI>Look for the Data Source Name from the following registry path HKEY_LOCAL_MACHINE\software\odbc\odbc.ini\DSN
</BLOCKQUOTE></UL>
<BLOCKQUOTE>
<P>In case an application uses normal ODBC Data Sources, the network name is mapped normally using the methods that are provided in the ODBC Driver Manager.
</BLOCKQUOTE><P ALIGN=CENTER>
<A HREF="aguide05.htm" TARGET="_self"><IMG SRC="gaguide/graprev.gif" WIDTH = 32 HEIGHT = 32 BORDER = 0 ALT="Previous Page"></A>
<A HREF="httoc.htm" TARGET="_self"><IMG SRC="gaguide/gratop.gif" WIDTH = 32 HEIGHT = 32 BORDER = 0 ALT="TOC"></A>
<A HREF="htindex.htm" TARGET="_self"><IMG SRC="gaguide/graindex.gif" WIDTH = 32 HEIGHT = 32 BORDER = 0 ALT="Index"></A>
<A HREF="aguide07.htm" TARGET="_self"><IMG SRC="gaguide/granext.gif" WIDTH = 32 HEIGHT = 32 BORDER = 0 ALT="Next Page"></A>
<center><p><font SIZE=-2>Copyright © 1992-1997 Solid Information Technology Ltd All rights reserved.</font></p></center></BODY></HTML>
|