我有一个很长的问题要问。首先,我在Delphi编程方面还非常新手,我的经验大多是使用ADO和Access数据库开发小型单用户数据库应用程序。
现在我需要转向客户端服务器应用程序,这就是问题开始的地方。我决定使用Firebird 2.5嵌入式作为我的数据库,因为它是开源的,并且可以与Delphi中的Interbase组件一起使用,而且多个客户端可以同时访问数据库。所以我按照Delphi中的Interbase教程进行操作。我成功地将客户端连接到服务器并查看了示例中的数据(当两者都在我的计算机上运行时),但是当我尝试将客户端移动到另一台计算机上时,保持服务器在我的计算机上并运行它以查看是否可以连接到服务器时,它给出了以下错误信息。
模块clientDemo.exe中的异常EIdSocketError。套接字错误#10061连接被拒绝。
我知道这可能是因为客户端中定义的主机名为localhost。但这里是我的第一个问题。在TSQLConnection中,您可以在Driver->Hostname下设置主机名。我想知道的是如何在运行时执行此操作,因为当我尝试创建编辑框允许用户输入值然后通过代码设置它时,我无法获取该属性,例如:
SQLConncetion1.Driver.Hostname:=edtHost.text; 无法通过这种方式执行此操作,我唯一看到的设置主机名的方法是使用对象检查器,但该检查器在运行时不可用,而且当程序第一次运行时,我需要在客户端上设置主机名,所以如何在运行时设置主机名/IP地址?
我正在使用Delphi XE2。
还有很多问题要解决,特别是涉及部署方面的问题,但我会逐步解决,并感谢您的建议。
现在我需要转向客户端服务器应用程序,这就是问题开始的地方。我决定使用Firebird 2.5嵌入式作为我的数据库,因为它是开源的,并且可以与Delphi中的Interbase组件一起使用,而且多个客户端可以同时访问数据库。所以我按照Delphi中的Interbase教程进行操作。我成功地将客户端连接到服务器并查看了示例中的数据(当两者都在我的计算机上运行时),但是当我尝试将客户端移动到另一台计算机上时,保持服务器在我的计算机上并运行它以查看是否可以连接到服务器时,它给出了以下错误信息。
模块clientDemo.exe中的异常EIdSocketError。套接字错误#10061连接被拒绝。
我知道这可能是因为客户端中定义的主机名为localhost。但这里是我的第一个问题。在TSQLConnection中,您可以在Driver->Hostname下设置主机名。我想知道的是如何在运行时执行此操作,因为当我尝试创建编辑框允许用户输入值然后通过代码设置它时,我无法获取该属性,例如:
SQLConncetion1.Driver.Hostname:=edtHost.text; 无法通过这种方式执行此操作,我唯一看到的设置主机名的方法是使用对象检查器,但该检查器在运行时不可用,而且当程序第一次运行时,我需要在客户端上设置主机名,所以如何在运行时设置主机名/IP地址?
我正在使用Delphi XE2。
还有很多问题要解决,特别是涉及部署方面的问题,但我会逐步解决,并感谢您的建议。