Обсуждение: ODBC Upgrades
Currently I have 08.00.0101 installed as PSQLODBC dated 03/05/2005. Whenever I attempt to use the MSI installation of any of the later versions this dll does not upgrade and nor does it install the latest version of the MSI either.
I am currently running PostgreSQL ver. 8.2.x which was just upgraded from 7.4.x this week. I was able to reload the entire client for PgAdmin and it works successfully.
However, I am unable to update the ODBC file and currently have users who are unable to access there databases since I am unable to update the ODBC client from the MSI installation. The majority of the users are on WinXP a few are still on Win2K.
Any advise would be more than welcome at this time.
Thank you,
~Annette
Annette Curtis – Sr. Information Analyst
Database Manager
University of Rochester
255 Crittenden Blvd.
Rochester, New York 14620
School of Nursing – HWH 3W-324
office: (585) 275-5398
annette_curtis@urmc.rochester.edu
Curtis, Annette M wrote: > Currently I have 08.00.0101 installed as PSQLODBC dated 03/05/2005. > Whenever I attempt to use the MSI installation of any of the later > versions this dll does not upgrade and nor does it install the latest > version of the MSI either. No, it will only upgrade from an early revision - ie. 08.00.0101 -> 08.00.0400. Uninstall the old driver first, and then install the new one. > > I am currently running PostgreSQL ver. 8.2.x which was just upgraded > from 7.4.x this week. I was able to reload the entire client for PgAdmin > and it works successfully. > > > > However, I am unable to update the ODBC file and currently have users > who are unable to access there databases since I am unable to update the > ODBC client from the MSI installation. The majority of the users are on > WinXP a few are still on Win2K. Why are they unable to connect? The driver is backwards compatible with older servers, and the server is backward compatible with the older clients. Regards, Dave.
Dave, When I uninstall the old driver and install the newer driver it is not available in admin tools data sources as a driver to select from to configure any type of DSN. In addition, when I have attempted to use the newer MSI packages to install the ODBC it registers in the local machine but not the current user. Any thoughts? Thank you for your support. _____ Annette Curtis - Database Manager University of Rochester School of Nursing office: (585) 275-5398 annette_curtis@urmc.rochester.edu -----Original Message----- From: Dave Page [mailto:dpage@postgresql.org] Sent: Friday, May 04, 2007 10:56 AM To: Curtis, Annette M Cc: pgsql-odbc@postgresql.org Subject: Re: [ODBC] ODBC Upgrades Curtis, Annette M wrote: > Currently I have 08.00.0101 installed as PSQLODBC dated 03/05/2005. > Whenever I attempt to use the MSI installation of any of the later > versions this dll does not upgrade and nor does it install the latest > version of the MSI either. No, it will only upgrade from an early revision - ie. 08.00.0101 -> 08.00.0400. Uninstall the old driver first, and then install the new one. > > I am currently running PostgreSQL ver. 8.2.x which was just upgraded > from 7.4.x this week. I was able to reload the entire client for PgAdmin > and it works successfully. > > > > However, I am unable to update the ODBC file and currently have users > who are unable to access there databases since I am unable to update the > ODBC client from the MSI installation. The majority of the users are on > WinXP a few are still on Win2K. Why are they unable to connect? The driver is backwards compatible with older servers, and the server is backward compatible with the older clients. Regards, Dave.
Curtis, Annette M wrote: > Dave, > > When I uninstall the old driver and install the newer driver it is not > available in admin tools data sources as a driver to select from to > configure any type of DSN. In addition, when I have attempted to use the > newer MSI packages to install the ODBC it registers in the local machine > but not the current user. Any thoughts? Those two statements seem somewhat contradictory. It always installs itself on a per-machine basis so thats not surprising, but how do you know it's registered for the current machine if it's not listed in the DM dialogues? Regards, Dave.
Curtis, Annette M wrote: > That's what I am saying it only shows under local machine and not the > current user so that's why its not available in the Data Sources > dialogues. Shows where under 'local machine'? The ODBC driver manager shows the registered drivers in a single list so you cannot distinguish between those registered per user or on the system. The *DSNs* are shown seperately, but they're a different matter altogether. > Also, what I discovered is that the name of the driver has changed to > accommodate ANSI and Unicode by doing this the driver will never update > but just create a new registration as noted by the local machine and not > the current user. No, that's why the change was made in a major version change. > When I renamed the Unicode driver to the old file name of PSQLODBC from > 8.0.1 it worked and now registers as an available data source to the > current user. > > However, please note that I would not want to go around to 200 plus > machines and rename the driver and place it in the registry manually as > I had to do to get this to work. There needs to be a better solution for > the upgrade of the ODBC from previous versions based on when a user > downloaded the original drivers from the Postgres site. If you're doing that sort of work manually you should really reconsider your management methods - thats the sort of thing Group Policy is for. Not that you should need to rename anything anyway. So, please clarify - you uninstall the 8.0 driver: - Does it get removed from the list of available drivers in the driver manager? - Is it still listed in the registry under HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI ? You then install the 8.2 drivers: - Are they listed under HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI ? - Are thy listed in the list shown by the driver manager? Regards Dave
[Please keep replies on-list] Curtis, Annette M wrote: > Dave, > > HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI still shows the 8.0 driver > even after uninstalling. OK - in that case, please remove the PostgreSQL key as well as the value: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers\PostgreSQL > > HKEY_CURRENT_USER\SOFTWARE\ODBC\ODBCINST.INI does not register any of > the drivers at all. (8.0 or 8.2) As I said previously, it's not supposed to. > When I install the 8.2 driver it shows in the local machine but not > current user. Regardless of where it shows it is not available as a > choice in the driver manager through DSN. See the picture below showing > the 3 different folders that were registered. The first one was created > with the 8.0 driver; the other two with the 8.2 driver. This picture is > from the local machine directory which is not available in the driver > manager DSN. > > > Only by renaming this driver through safe mode from psqlodbc35w.dll back > to psqlODBC.dll did it finally change the version number and allow me to > see it in the drivers list. See picture. > Did you copy the DLL from the installation directory? We intentionally don't install into C:\Windows\System32 any more to avoid possible conflicts with other software that might have installed SSL or Kerberos libraries. Please uninstall the 8.2 driver, and remove any registry entries for it that might remain (there shouldn't be any, but if you've moved files around, that installer database will no longer reflect reality so it might not fully remove everything), then try reinstalling using the default install location etc. Regards, Dave.