Home
PowerBuilder
Appeon Documentation Center
JavaScript is disabled on your browser. Please enable JavaScript to enjoy all the features of this site.
Home
PowerBuilder
Appeon Documentation Center
PowerServer 2022 R3 Help
File server
Sidebar
Prev
|
Up
|
Next
Apache on Linux
Preparations
Installing Apache HTTP Server
Configuring SSL on Apache
Configuring Apache to be case-insensitive
Packaging and copying the client app
Contents
Search
What's New
PowerServer 2022 R3
New Features
Changing Web API URL when configuring to deploy to IIS
Selecting whether to deploy and package Web APIs
Configuring timeout and MaxSPCache before deployment
Importing/Exporting the launcher profile
Importing/Exporting the server profile
Signing improvements
Supports token-based certificates
Supports dynamic parameters
Loading images via URL
commandline argument saving option (in pbapp.ini)
Getting the deployment version via CloudAppGet
Supporting more image formats for custom launcher
PowerBuilder features
Upgrade Guide
Bug Fixes & Known Issues
PowerServer 2022 R2
New Features
PowerServer Project deployment refactoring
DB2 support
Web API URL enhancements
Ultra-fast build option
Supports Strict encryption for SQL Server
Solution changes
Licensing site changes
PowerBuilder features
Discontinued/Obsolete features
Upgrade Guide
Bug Fixes & Known Issues
PowerServer 2022
New Features
Cloud App Launcher refactoring
PowerServer project painter refactoring
PowerServer performance enhancements
PowerServerLabel and PowerServerResult
Unsupported feature detection enhancements
PowerServer project debugging
PowerServer toolbar changes
HTTP/2 support
TLS 1.3 support
Ignoring PowerServer certificate errors
Enhanced PowerScript features
.NET 6.0 support
Authentication template for AzureAD
Web API default port changes
PowerServer log level changes
Licensing server backup
Upgrade Guide
Bug Fixes & Known Issues
PowerServer 2021
Installation
PowerServer components
Installation requirements
Client PC
Development PC
Server
File server
Database
Network requirements
Quick Start
Guide 1: Deploying to local environment (built-in Kestrel)
Overview
Preparing a local development environment
Verifying the example sales app
Minimal efforts: Deploying the sample PowerServer project
Adjusting the sample PowerServer project according to your environment
Opening the sample PowerServer project
Updating the PowerServer solution path
Verifying the server settings
Verifying the PowerServer license
Verifying the database connection
Deploying the PowerServer project
Running the installable cloud application
Full experience: Creating and deploying a new PowerServer project
Creating the PowerServer project
Creating a new PowerServer project
Configuring the Application page
Configuring the Database page
Configuring the Build page
Verifying the Deploy page
Deploying the PowerServer project
Running the installable cloud application
Guide 2: Deploying to local IIS
Setting up the local IIS server
Installing IIS in Windows
Installing ASP.NET Core Hosting Bundle
Configuring and deploying the PowerServer project
Configuring the server profile
Deploying the project
(Optional) Verifying the Web APIs
Running the installable cloud application
Guide 3: Deploying to remote IIS
Setting up a remote IIS server
Preparations
Configuring Windows Defender Firewall
Choosing an appropriate port number
Installing IIS in Windows Server
Configuring IIS
Installing Web Deploy
Installing ASP.NET Core Hosting Bundle
Configuring and deploying the PowerServer project
Configuring the database connection
Configuring the server profile
Importing the production license
Deploying the project
(Optional) Verifying the Web APIs
Running the installable cloud application
Guide 4: Deploying multiple apps to one site
Creating an IIS web site
Configuring and deploying the PowerServer project
Converting the Web APIs to IIS sub-app
Verifying the Web APIs
Configuring the Web API URL
Guide 5: Deploying the client app separately
Deploying the client app separately
Installable cloud app
Installable cloud app
Overview
Config & deploy
Compilation concepts
Compilation process
PowerServer C# models
DataWindows
Dynamic DataWindows
Embedded SQLs
Dynamic SQLs
Automated CI/CD
Create the PowerServer project
Configure the PowerServer project
Application page
Security page
Database page
Build page
Deploy page
Configure a server for deployment
Configure the Web API settings
Specify the Web API URL
Configure the solution basics
Select an authentication template
Import and deploy license
Configure the database connection
Select the database driver
Configure the database connection
Map the transaction object with the cache
Create DB connection profiles
Manually change the database connection in PowerServer
Analyze the unsupported features
Build the PowerServer project
Build & deploy in the IDE
Build & deploy using commands
Walkthrough: Building with commands
Exporting the build file
Preparing the environment
Exporting the build file
Modifying the build file
About the build file
Getting source code from SVN, Git, or VSS
Uploading a launcher package
Executing additional commands
Building with commands
Preparing the environment
Preparing the database driver
Running the command-line tool
Verifying if PBAutoBuild is successful
Integrating with Jenkins
Upgrade the PowerServer project
Walkthrough: Deploying your PowerServer project to remote servers
Overview
Preparation
Preparing the environment
Starting the database
Creating the ODBC data source
Deploying the PowerServer project to remote servers
Creating a server profile for remote deployment
Modifying the PowerServer project
Selecting the server profile
Importing the production license
Selecting the authentication template
Configuring the database connection
Selecting the Full build option
Deploying the project
(Optional) Hosting the client app and the Web APIs separately
Walkthrough: Applying a production license to an existing PowerServer project
Accessing the production license code (Order Owner only)
Importing the production license into the project
After compilation
Before compilation
In PowerBuilder
In SnapDevelop
Without SnapDevelop
Activating the license
Run & manage
Client app & apprun.json
Configure the Web API URL
Run the installable cloud application
Change the deployed app using commands
Change the External Files
Encrypt the password
Customize the app entry page
Manage app versions/updates
Roll back to an earlier version of app
Support cookie validation
Undeploy the client app
Uninstall the client app
Package & distribute
Package the installable cloud app
Install the installable cloud app
Tutorial for ISVs: Packaging & distributing the installable cloud app
Verifying system requirements
(Optional) Configuring database connections
(Optional) Customizing app launcher and app entry page
Packaging the installable cloud app
Installing the installable cloud app
Configuring the app on server
Configuring the Web API URL
Changing the INI file etc.
Verifying the app
Configuring the Web APIs on server
Configuring the database connection
Importing the PowerServer license
Configuring the email settings
(Optional) Hosting the client app separately
Running the installable cloud app
Running the installable cloud app
Uninstalling the client app
Cloud app launcher
About
Customize
Upload
Install
PowerServer Web APIs
Concepts
PowerServer C# solution
PowerServer Web APIs
PowerServer NuGet packages
Built-in Kestrel
web.config
Is web.config mandatory?
How is web.config generated and what is included?
Where should web.config be located?
PowerServer in IIS
Web API URL
Auth server
What settings will be deployed to the C# solution
What settings can be modified in the C# solution
Run PowerServer Web APIs
Check the status of Web APIs
Support HTTPS
Use SSL certificate
Ignore PowerServer certificate errors
Support HTTP/2
Support TLS 1.3
Load certificate in Kestrel
Load certificate in IIS
Modify Windows 10 registry
Access PowerServer Management APIs
View API docs in Swagger UI
APIs for managing application and transaction mapping
LoadOne
LoadAll
Add
Edit
Remove
AddTransactionMapping
EditTransactionMapping
RemoveTransactionMapping
APIs for managing cache and cache group
LoadOne
LoadGroup
LoadAll
AddOne
AddRange
RemoveOne
Edit
AddGroup
RemoveGroup
APIs for managing license
LoadLicenseInfo
LoadInstanceInfo
APIs for managing session
LoadAll
GetSessionCount
KillById
APIs for managing statistics
LoadRequestSummaryStatistics
LoadRequestsStatistics
LoadTransactionSummaryStatistics
LoadFailedTransactionsStatistics
LoadSucceedTransactionsStatistics
APIs for managing transaction
LoadAll
LoadRequestSql
RollbackById
Run the ServerAPIs.Tests project
Configure the timeout settings
Configure the log settings
Upgrade PowerServer NuGet packages
Server Setup
Overview
Kestrel
Overview
Starting Kestrel in development environment
Starting Kestrel in production environment
(Optional) Using a reverse proxy server
Apache (Windows)
Preparations
Configuring Apache
Modifying the Web API URL
Verifying the configuration
Apache (Linux)
Preparations
Configuring Apache
Modifying the Web API URL
Verifying the configuration
Nginx (Windows)
Preparations
Configuring Nginx
Modifying the Web API URL
Verifying the configuration
Nginx (Linux)
Preparations
Configuring Nginx
Modifying the Web API URL
Verifying the configuration
IIS
Preparations
Configuring IIS
Modifying the Web API URL
Verifying the configuration
IIS (in-process hosting)
In-process hosting vs. out-of-process hosting
Preparations
Installing IIS
Creating an IIS website
Configuring IIS
Configuring SSL on IIS
Installing Web Deploy
Troubleshooting tips for Web Deploy
Installing ASP.NET Core Hosting Bundle
Deploying Web APIs to IIS
Automatic deploy
Manual deploy
Running and Verifying the Web APIs
Docker
Overview
Setting up Docker
Setting up a docker host (Docker Engine)
Setting up a docker registry
Setting up the database server
Preparations
Installing and running the database
Publishing to Docker
Preparing the development PC
Modifying and re-deploying the PowerServer project
Publishing Web APIs to Docker
Using Dockerfile
Using SnapDevelop
Specifying the Web API URL
Kubernetes
Overview
Before you begin
Configuring Azure Kubernetes Service
Creating a Kubernetes cluster in AKS
Connecting to the Kubernetes cluster
Installing ingress controller
Creating public IP address
Creating a Kubernetes namespace
Installing Ingress-Nginx
Using your own TLS certificates in AKS
Creating Kubernetes secret for the TLS certificate
(Optional) Adding the default certificate
Logging into Azure container registry
Creating a database
Containerizing the installable cloud app
Preparing the application
Modifying the database connection
Packaging the client app as a zipped file
Building the PowerServer project
(Optional) Modifying the Web API URL
Creating the container images
Creating an image of the client app
Creating an image of the Web API
Pushing images to Azure container registry
Deploying the application to the Kubernetes cluster
Creating the YAML manifest files
Deploying the application
Configuring the domain name
Testing the application
Azure App Service
Prerequisites
Deployment Architecture
Steps Summary
Cloud Database
Creating the Database Resource
Configuring the Database
Enabling extensions
Allowing external access
Dumping the Database
Restoring the Database
Web APIs
Creating the App Service
Configuring the PowerServer project
Manual Deployment
Packaging the Web APIs as a Zipped file
Uploading the Web APIs to the App Service through FTP
Direct Deployment (Visual Studio)
Cloud App
With Static Web App
Creating the Static Web App
Installing SWA CLI
Specifying the Web API URL
Deploying the Cloud App
With Azure Storage
Enabling Static Web Site
Downloading AzCopy
Deploying the Cloud App
Troubleshooting
no pg_hba.conf entry for host
Workflow deployment fails with "Failed to find a default file in the app artifacts folder (/). Valid default files: index.html,Index.html." error
Azure Container Instances
Prerequisites
Overview
Deployment Architecture
Creating an Azure Container Registry
Preparing the PowerServer Project
Containerizing and Deploying Web API
Pushing the container to the Azure Container Repository
Using SnapDevelop
Manually
Creating the Container Instance
Updating the Web API URL on the PowerServer project
(Recommended) Modifying the config file
On PowerBuilder
Publishing the Cloud App Installer
Using Nginx Container
Using IIS Container
Creating a home page
Tagging and pushing the image
Creating the container instance
Appendix
Customizing the Containers' URLs
Azure Application Gateway
CNAME Record
Troubleshooting
Cannot push image to Azure Container Registry
AWS Elastic Beanstalk
Prerequisites
Deployment Architecture
Steps Summary
Creating an application and environment
Cloud Database
Making the database publicly accessible
Restoring the PBDemoDB database
Create the Option group
Modify the database instance to use the new option group
Uploading the backup
Restoring the backup
Web APIs
Configuring the database URL
Configuring the Web API
Publishing the project
Disabling public access from the database
Cloud App
Creating and configuring the bucket
Creating an index.html file
Uploading the Cloud App
Troubleshooting
Uploading and deploying the Web APIs to Elastic Beanstalk fails
Solutions
Trying to access the Web APIs returns HTTP 502 Bad Gateway
Solutions
File server
Overview
IIS
Preparations
Installing Web Server (IIS)
Configuring SSL on IIS
Packaging and copying the client app
Apache on Windows
Preparations
Installing Apache HTTP Server
Configuring SSL on Apache
Packaging and copying the client app
Apache on Linux
Preparations
Installing Apache HTTP Server
Configuring SSL on Apache
Configuring Apache to be case-insensitive
Packaging and copying the client app
Nginx on Windows
Preparations
Installing Nginx
Configuring SSL on Nginx
Packaging and copying the client app
Nginx on Linux
Preparations
Installing Nginx
Configuring SSL on Nginx
Configuring Nginx to be case-insensitive
Packaging and copying the client app
Load-balancer
Overview
Nginx
Using Nginx Sticky Module
Using Nginx Plus
Using IP hash load-balancing
Apache
IIS
Appendix: FTP server
Preparations
Enabling the FTP service
Creating an FTP site
Configuring SSL on FTP server
Uploading the application via FTP client
Database Connections
Concept differences
Connection differences
Transaction differences
One transaction vs. multiple transactions
Transaction timeout vs. no transaction timeout
Transaction management differences
Transaction issues
Transaction timeout in stored procedure
Select Lock
DBParm differences
Supporting multiple database types
Database type & driver
Database type
Database driver
ASE database
Caches
What is a cache?
Creating caches in the IDE
Download the database driver
Configure the database connection
Create the DB connection profile
Managing caches in PowerServer
Connection techniques
Connection options
Handling various connection scenarios
Static connection
Creating transaction-to-cache mappings in the IDE
Managing transaction-to-cache mappings in PowerServer
Dynamic connection
Using CacheName property of DBParm
Using CacheGroup property of DBParm
Using LogID and LogPass properties
Using Transaction object properties
Long connection
When to enable long connection
How to enable long connection
Managing database connections
Storing database connections in the file or database
Managing database connections via APIs
Walkthrough: Connecting to the database
Overview
Accessing the Database Configuration dialog
Connecting with the DB2 database
Installing DB2 driver
Creating a cache
Mapping the transaction object
Connecting with the Informix database
Installing Informix driver
Creating a cache
Mapping the transaction object
Connecting with the MySQL database
Installing MySQL driver
Creating a cache
MySQL General connection
MySQL SSL connection
Mapping the transaction object
Connecting with the Oracle database
Installing Oracle driver
Creating a cache
Connection types in Oracle
Mapping the transaction object
Connecting with the PostgreSQL database
Creating a cache
PostgreSQL General connection
PostgreSQL SSL connection
Mapping the transaction object
Connecting with the SQL Anywhere database
Starting the SQL Anywhere database
Configuring ODBC for SQL Anywhere
Creating a cache
Mapping the transaction object
Connecting to SQL Anywhere database in Linux
Connecting with the SQL Server database
Selecting a proper authentication mode when configuring SQL Server connection
Configuring the SQL Server database server
Creating a cache
Connecting over TCP/IP protocol
Connecting over Shared Memory protocol
Connecting over Named Pipes protocol
Configuring named pipes
Connecting over Named Pipes
Connecting to Azure SQL
Mapping the transaction object
Connecting with the Adaptive Server Enterprise database
Configuring ODBC for ASE
Creating a cache
Mapping the transaction object
Troubleshooting
Unable to connect to remote SQL Server database over Named Pipes even though local database can be connected
Using the PostgreSQL CA certificate for SSL connection, the verification fails
Communication error when connecting with the Informix database
Security
Security whitepaper
Authentication
Important notes
Introduction to built-in authentication
Using JWT
Preparations
Modifying the PowerBuilder app
Purpose
Specify the token URL
Get the token
Start the session manually
Modifying and re-deploying the PowerServer project
Authenticating users against a file or database
Authenticate users against a file
Authenticate users against a database
Appendix
Enable CORS
Using Amazon Cognito
Preparations
Creating the Amazon Cognito user pool
Modifying the PowerBuilder app
Purpose
Specify the token URL
Get the token
Start the session manually
Modifying and re-deploying the PowerServer project
Modifying the authentication template
(Optional) Testing the Cognito server
Using Azure Active Directory service
Azure Active Directory (AD)
Preparations
Creating an Azure AD tenant
Modifying the PowerBuilder app
Purpose
Specify the token URL
Get the token
Start the session manually
Modifying and re-deploying the PowerServer project
Modifying the authentication template
Azure Active Directory (AD) B2C
Preparations
Creating an Azure AD B2C tenant
Modifying the PowerBuilder app
Purpose
Specify the token URL
Get the token
Start the session manually
Modifying and re-deploying the PowerServer project
Modifying the authentication template
Using other authentication servers
Using Okta OIDC (OpenID Connect)
Preparations
Creating a web application to integrate with Okta
Modifying the PowerBuilder app
Purpose
Specify the token URL
Get the token
Start the session manually
Modifying and re-deploying the PowerServer project
Modifying the authentication template
Using Visual Guard
Unsupported Features & Workarounds
How to detect unsupported features
Unsupported features & workarounds
Unsupported features that can be detected
SetTrans
Data pipeline
MobiLink
Oracle RPC arrays
SQLPreview
SQLReturnData property
Transaction trace
Retrieve As Needed and Rows to Disk
Commit or Rollback Transaction using Dynamic SQL
Data retrieval in the RetrieveRow event
Unsupported features that cannot be detected
Unsupported use cases in Embedded SQLs
PBD
SyntaxFromSQL
DBParm properties
Database synonym
SP result sets
Multi-threading
Discrepancies & workarounds
Discrepancies that cannot be detected
DB connection
Alias name
rowsupdated value
DisableBind parameter
DataWindow UPDATE statement
NCharBind
DataWindow INSERT statement
TableBlob retrieval
Dynamic DataWindow
TransactionName
Data type in Dynamic SQL Format 4
Decimal data type in static SQL or DataWindow
Timing of transaction rollback
Oracle AutoCommit and Lock
Stored procedure parameter
Transaction commit
Use Describe in Dynamic SQL Format 4
Bit data field
SelectBlob/UpdateBlob supports UTF8 only
SQLNRows property (with Cursor)
SQLCode property (with SP)
Column name from view
Incompatible coding styles
PBLs contain DataWindows with the same name
Object name using C# reserved words
DataWindow name containing special characters
Editing SQL
Column order in data source and Column Specification
One compute expression containing multiple computed columns
Cursor syntax
Syntax after UNION
Custom DataWindows from InfoMaker
Troubleshooting
Configuring and deploying PowerServer projects
Permission errors when configuring the Web server profile
Syntax error during the build process
DB driver error during the build process
Error in the Unsupported (DWs) window
Failed to generate the PowerServer Web APIs project
Error uploading application files to FTP
Changed PBL list
"The string 'xxx' was not recognized as a valid DateTime" when converting DataWindow to data model
"Invalid object name 'xxx'" when converting DataWindow to data model
Failed to load database driver for PowerServer project
Failed to load database driver when building/deploying PowerServer project
Running installable cloud apps
Cloud app launcher and application executable
Failed to get the app publisher from the server
Failed to download the config file / installation package
ErrorCode: 404; Error: Not Found
ErrorCode: 500; Error: Internal Server Error
"ErrorCode: 12029; Error: Failed to connect to the server for the operation" or "ErrorCode: 12002; Error: The operation has timed out"
No application was found at the web address: [URL]
Failed to run the app. Please make sure the server is running and accessible.
Other ErrorCode such as 505, 12178 ...
App cannot run because the local version expired
Cannot start cloud app launcher
Application not found
Application executable disappeared suddenly
Window is slow to open
Models and controls
Cannot retrieve data when data includes null values
PBSELECT DataWindow error
RibbonBar control displays blank
Server
PowerServer Web APIs failed to start
How to figure out if the deployed Web APIs can run at all
Session errors
Session creation failed
Failed to send the request
Not Found (HTTP status code: 404)
Internal Server Error (HTTP status code: 500)
HTTP status code: 403
SSL certificate common name is incorrect
Application Shutting Down (HTTP status code: 503)
Session not created
Session fails to respond (Session does not exist)
Cannot connect to the server when creating the session
Session does not exist
Session fails to respond (Session timed out)
Transaction errors
Transaction does not exist or Transaction is timeout
Command timed out when an SP or SQL takes more than 30 seconds
App requires login again
IIS-related errors
"HTTP Error 500.19 - Internal Server Error"
"HTTP Error 404.2 - Not Found" or "HTTP Error 502.2 - Bad Gateway" error
"HTTP Error 500.32 - Failed to load .NET Core host" error
Folder/file name containing character + cannot be downloaded
Files in certain folder cannot be downloaded
Failed to access the *.json file
Other IIS common errors
Failed to connect to the license server: No such host is known
Version of PowerServer Nuget packages does not match that of PowerBuilder
Unauthorized error
Database
Different results returned from an ASE stored procedure
SelectBlob data truncated
Garbage letters display when retrieving multibyte data
Slow app performance with SQL Anywhere
64-bit database cannot be connected from IIS
SQLHandle not found
"Invalid object name 'xxx'" when executing ESQL
Inconsistent information with set_context and sys_context
Others
Unresolvable external pbdom_document
License errors
Failed to call the license server API
Failed to login the license server
Access to powerserver\licoffdata.bin is denied
Cannot access License.json
"The application license is invalid" error
PowerServer solution errors
Unable to find package PowerServer.Api or PowerServer.Core
Failed to update NuGet packages in PowerServer C# solution
Runtime error numbers
Performance Tuning
Introduction
Performance suggestions on project compilation and deployment
Performance suggestions on loading installable cloud apps for the first time
Performance suggestions on running installable cloud apps
Debugging the performance
Working against the impact of Internet and slow networks on runtime performance
Hosting Web APIs and database on the same LAN
Web API publishing method
Optimizing database server performance
Connection Pooling
Command Timeout
Tuning excessive server calls
Overview
Technique #1: grouping multiple server calls with PowerServerLabel
Technique #2: partitioning transactions via stored procedures
Technique #3: partitioning non-visual logic via server-side REST APIs
Technique #4: eliminating recursive embedded SQLs
Technique #5: eliminating DW computed fields calling user functions that have ESQL
Minimizing large data transmissions
Overview
Technique #1: retrieving data incrementally
For Oracle database server
For all other database servers
Technique #2: minimizing excessive number of columns
Testing, Debugging, & Error Handling
Load testing
Using LoadRunner
Overview
Preparing the installable cloud application
Switching the application to test mode
Why test mode is required
How to switch to the test mode
Changing the compression method to Gzip
Recording scripts
Specifying the app .exe file as the Application
Disabling the async scan
Parameterization and correlation
Enclosing parameters in angle brackets “<>”
Correlating the Session ID
How to correlate the session ID in the recorded script
Correlating the Transaction ID
How to correlate the transaction ID in case of single transaction
How to correlate the transaction ID in case of multiple transactions
Parameterizing static values in SQLs
How to parameterize static values in Retrieve
How to parameterize static values in Select
Replaying scripts
Using JMeter
Overview
Preparing the installable cloud application
Configuring and deploying the application
Switching the application to test mode
Why test mode is required
How to switch to the test mode
Running PowerServer Web APIs and then JMeter recorder or Fiddler
Recording scripts
Recording scripts automatically (using Recorder)
Creating a test plan from templates
Enabling recorder
Configuring recorder
Configuring your system to use the JMeter Proxy
Recording the scripts
Viewing the recorded scripts
Correlating the scripts
Recording scripts manually (using Fiddler + JMeter)
Obtaining HTTP requests
Creating a test plan and adding HTTP requests
Creating a Test Plan
Adding a Thread Group
Adding HTTP requests
Adding an HTTP header manager
Adding listeners
Correlating the scripts
Running tests and viewing results
Parameterization and correlation
Why parameterization and correlation are required
Where to find session ID and transaction ID
Correlating the session ID
Correlating the transaction ID
In single transaction
In multiple transactions
Correlating the access token
Parameterizing the retrieval argument
Parameterizing the ESQL parameter
Modifying scripts
Configuring pre-test scripts
Adding a setUp Thread Group
Adding HTTP requests
Adding Regular Expression Extractor and BeanShell PostProcessor
Correlating the session ID
Correlating the transaction ID
Configuring post-test scripts
Adding a tearDown Thread Group
Adding HTTP requests
Adding Regular Expression Extractor and BeanShell PostProcessor
Correlating the transaction ID
Configuring main test scripts
Adding simultaneous users
Replaying scripts
Debugging
Overview
Debugging with PowerServer Debugger
Preparations
Starting PowerServer Debugger
Running in debug mode
Debugging with Fiddler
Installing Fiddler
Configuring Fiddler
Configuring the PowerServer project
Running the PowerServer Web APIs and then Fiddler
Capturing HTTP(S) with Fiddler
Filtering the results
Inspecting the results
Analyzing the performance
Logs and unsupported features report
Deployment log
Unsupported features report
Web file download log
Web API request log
Debugging log in SnapDevelop
PowerServer logs
Log4net logging
Logging with the settings in Logging.json
Debugging case studies
DataWindow related errors
DataWindow retrieve error
Different execution results in different databases
Incompatible data type
Embedded SQL related errors
Error handling
Introduction
Session
How to capture session-related errors?
How to keep the Session ID valid while the user operates the application?
Transaction
How to capture PowerServer-specific errors such as Transaction Timeout?
Troubleshooting suggestions for database operation errors
Network
How to capture HTTP Errors that occasionally occur while the application is running
Troubleshooting suggestions for common network errors
Logging
How to set up the backend log to output the executed SQL
How to enable front-end logs
When multiple users are accessing the application, how do you know which user's operation caused the error?
Data type mappings
SQL Server data type mappings
ASE data type mappings
SQL Anywhere data type mappings
Oracle data type mappings
PostgreSQL data type mappings
Search Highlighter (On/Off)