如何使用dynamicIP自动将客户端连接到另一台机器上的ODBC数据源?

在客户的地方,我们在服务器上有一个postgres数据库,还有一些客户。 我们通过ODBC驱动程序连接它们,所有机器都运行Windows(通常是XP)。 现在我们遇到了一些烦人的问题:

  • 客户端“忘记”ODBC驱动程序中的某些标志,例如ByteA作为LO。 每当有任何变化,我们必须重置,并input密码,有时甚至是服务器的IP。
  • 在运行Windows 7的x64机器上,configuration这个是很麻烦的,因为系统设置对话框默认只显示64位连接。
  • 最重要的是:如果服务器由于客户重新启动或更换交换机而更改IP,则所有连接都将丢失。 令人烦恼的是,这只能纠正IP才能解决,但是我们必须检查每个地方(甚至是hba_conf),因为所有的设置都会奇迹般的消失。

我们的客户往往是非常小的公司,其中“服务器”的意思是“在另一个房间的一台PC”,而不是“在地牢的Oracle主机”,所以我们不想依赖他们不重新启动交换机。

有没有比依靠这些非常不稳定的设置更好的方法? 这些设置是否在我可以手动编辑的文件的某个位置,使其更容易修复?

  1. 看看registry。 在WIn32 ODBC数据系统源中HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI 。 检查系统“饶恕”之前和之后的设置

  2. 我不记得这些设置保存在64位Windows中,但他们也在registry中。 Win64有2个位置的ODBC:一个用于32位应用程序,第二个用于64位应用程序

  3. 他们使用DHCP服务器吗? 他们不能让服务器IP地址永久?

修复如下:

  1. 初始化时,parsing应用程序中连接string的一部分,如有必要,将标志附加到它。

  2. 只需要一次,因为我可以解决其他问题。 仍然不理想。

  3. 使用计算机的名称,而不是IP。 数据服务可以很容易地处理。