<docbook><section><title>ServiceError</title><para> </para><title>Error Message: &quot;Service Error, Please check services and hosts files&quot;</title>Error Message: &quot;Service Error, Please check services and hosts files&quot;
<para>Sockets-based connections to Progress and OpenEdge require three options set through case-sensitive flags, e.g., </para><programlisting>-S prog91c -H prog-host.example.com -N tcp
</programlisting><para>This error message indicates that one or more of these is missing or set incorrectly.</para><itemizedlist mark="bullet" spacing="compact"><listitem> The values passed for the <computeroutput>-S</computeroutput> and <computeroutput>-H</computeroutput> flags in the DSN must match those used when the Progress or OpenEdge server was started.
 You can see what these values were in the <computeroutput>&lt;dbname&gt;.lg</computeroutput> file typically found alongside the <computeroutput>&lt;dbname&gt;.db</computeroutput> file.
</listitem>
<listitem> The value passed for the <computeroutput>-S</computeroutput> flag must be either a port number or the service name defined in the <computeroutput>/etc/services</computeroutput> file on the Progress or OpenEdge host.
 If using a service name, the identical definition must also be set in the <computeroutput>/etc/services</computeroutput> file on the ODBC client host.
</listitem>
<listitem> The value passed for the <computeroutput>-H</computeroutput> flag must be either an IP address, a DNS-resolvable hostname, or a hostname defined and resolvable through the <computeroutput>/etc/hosts</computeroutput> file.
 As with service name, if using a hostname defined in the <computeroutput>/etc/hosts</computeroutput> file, the same definition must be fonud on both the ODBC client host and the Progress or OpenEdge host.
</listitem>
<listitem> The <computeroutput>-N</computeroutput> flag should always get the value <computeroutput>tcp</computeroutput>.</listitem>
</itemizedlist></section></docbook>