If your DBMS supports it, specifies the workstation name when connecting to the database in PowerBuilder. The Host parameter lets you assign any 10-character label to identify the process you are about to create when you connect to the database. This label helps you distinguish your process from others running on the database server.
When to specify Host
You must specify the Host parameter before connecting
to the database in PowerBuilder.
ASE, SYC Sybase Adaptive Server Enterprise
SNC SQL Native Client for Microsoft SQL Server
Host='workstation_name'
None
For Adaptive Server, when you specify a value for Host, PowerBuilder sets the CS_HOSTNAME connection property to the workstation name you specify.
The value you specify for the Host parameter displays in the hostname column of the MASTER.DBO.SYSPROCESSES table in a SQL Server database. How you use the Host parameter depends on the design of your PowerBuilder application.
For example, many sites want to secure their production tables so that updates are possible only through a specific application. To do this, you can grant explicit authority to the PowerBuilder application but not to users. The application prompts the user for an authorization ID and password, verifies it, and then connects to the database through a single application login ID. Only this application login ID has authorization to update production tables.
In this scenario, you can use the Host parameter to store the name of the user running the application.
To set the host name to Alan:
Database profile Type the following in the Workstation Name box on the Network page in the Database Profile Setup dialog box:
Alan
Application Type the following in code:
SQLCA.DBParm="Host='Alan'"
You can use the Host and AppName parameters together to specify both the host name and the application name. To set the host name to Jane and the application name to Sales:
Database profile Type Jane in the Workstation Name box and Sales in the Application Name box on the Network page in the Database Profile Setup dialog box.
Application Type the following in code:
SQLCA.DBParm="Host='Jane',AppName='Sales'"
The Host name in the preceding examples is hard coded. You can get the name dynamically using the Windows GetComputerNameW function. There is no PowerScript equivalent for this function. Here is the external function declaration:
FUNCTION boolean GetComputerNameW(ref string cname,ref long nbuf) LIBRARY "Kernel32.dll"
The following code in the Open event of the application uses an external function call to get the host name and set its value in the Host parameter. You must allocate sufficient space for the returned host name:
string ls_compname long ll_buf ll_buf=25 ls_compname=space(ll_buf) GetComputerNameA(ls_compname, ll_buf) // Profile mysyb SQLCA.DBMS="SYC Adaptive Server Enterprise" SQLCA.Database="mydata" SQLCA.LogPass="mylogpass" SQLCA.ServerName="mysybsvr" SQLCA.LogId="mylogid" SQLCA.AutoCommit=False SQLCA.DBParm="Host='" + ls_compname + "'" Connect using SQLCA;