I have developed one application using access 2003 and i have linked tables from sql server 2000.
I am getting Error : Error No : 3146
ODBC Call Failed.
[Microsoft] [ODBC SQL Server Driver]Timeout Expired #0.
Please help me to resolve this issue.
Submitted via EggHeadCafe - Software Developer Portal of Choice
Composite UI Pattern and RAD Development for Data Entry Applications, Part 1
http://www.eggheadcafe.com/tutorials/aspnet/a119aebe-7478-4aaa-b415-12786ec5cf90/composite-ui-pattern-and-rad-development-for-data-entry-applications-part-1.aspx
> I have developed one application using access 2003 and i have
> linked tables from sql server 2000.
>
> I am getting Error : Error No : 3146
> ODBC Call Failed.
>
> [Microsoft] [ODBC SQL Server Driver]Timeout Expired #0.
>
> Please help me to resolve this issue.
That kind of error is often quite difficult, as it often masks a
whole host of issues.
The first thing to check is to build an error handler in your Access
app in the context where this is happening and instead of reporting
Err.Number and Err.Description, check the errors collection of
DBEngine, since ODBC often returns a collection of errors, instead
of a single one, and Err reports only the last one.
The other thing that is a mysterious cause of this in my experience
is DNS misconfigurations. If the client workstation is unable to
resolve the IP of the server, an error like this is often the
result. I have found that very often client PCs are misconfigured
such that Internet DNS servers are being checked first, before the
local DNS, and the result is that the SQL Server's name can't be
found (because the PC is looking in the wrong place).
In a domain environment, the local DHCP server should be telling
client PCs what the local DNS is, on the local LAN. In a small
office environment with a single domain controller, this is very
often the domain controller. The domain controller (or whatever
machine is handling the local LAN's DNS resolution) should be the
primary DNS for the workstations, and that DNS should then know the
external DNS addresses (that should be configured in the router that
is at the perimeter of the local LAN) for the Internet (i.e.,
outside the local LAN).
Failing proper setup on that, another option is to add an entry for
the SQL Server in the client PC's HOSTS file. That's less desirable
as it has to be done on each PC, and if the SQL Server's IP address
changes, it will be inaccurate. But it's something to try if you
can't get a propery DNS setup.
--
David W. Fenton http://www.dfenton.com/
contact via website only http://www.dfenton.com/DFA/