Content


Getting Started

Environments variables

For a licensed installation, you need to create at least the SQLB_licenseServerIpAndPort environment variable

Variable Mandatory Meaning Example
SQLB_licenseServerIpAndPort Mandatory Points to the License server 169.28.71.43:16421
SQLB_commandLine Optional Customize the command line arguments -J-Xmx900m -J-Xmx5G
SQLB_argumentsFileName Optional Comma separated names of arguments file http://host/arguments.xml

Directories

It is important to understand the role of the 4 directories below as they are referenced in the documentation

Directory Role
Installation Directory This is where you unzip SQLBrowser. It may be in a local directory or a shared drive e.g. S:\sqlbrowser\sqlbrowser_2015_05_1333.
Important: do not unzip SQLBrowser over an old distribution
How to find the Installation Directory:
Click 'Help/System Info' and lookup the System Properties List for netbeans.dirs.
User directory This is where user preferences are saved. This directory is by default located on: C:\Users<user>\AppData\Roaming.sqlbrowser\dev. This directory is hidden by default. This directory contains your last windows locations, your templates, your server names etc... It is strongly advised to re-point this directory to something like c:/temp/sqlbrowserUserDir. You do this by using the --userdir command line option. NB: You may have to delete this directory in case of trouble restarting SQLBrowser after an update. This directory contains many configuration files, but the main SQLBrowser files that you want to save are under: config\Preferences\com\sqlbrowser
How to find the User Directory:
Click 'Help/System Info' and lookup the System Properties List for netbeans.user.
Output Directory This directory hosts: (1) the SQLBrowser log file named sqlbrowserlog.txt and (2) the Batch Analysis HTML report. A typical location for the output directory is: c:/temp/sqlbrowserOutputDir.
How to find the Output Directory:
Click 'Tools/Options - SQLBrowser/General' and lookup Output Directory
Input Directory
or URL
This is the directory or URL from which the tow files dependencies.txt and schema.xml produced by the Batch Analysis are read by SQLBrowser. This directory is set per Server. See Batch Analysis for more information.
How to find the Input Directory:
Click 'Tools/Options - SQLBrowser/Servers'

Ini File

The Ini file defines server coordinates and is mandatory.

  1. It contains the definitions (host & port) of database servers.
  2. For Microsoft servers, the name must contain MICROSOFT
  3. Example of an ASE entry and a Microsoft SQL Server entry:
Copy to clipboard
[ASE_157] query=NLWNSCK,HP_H8_NGX,5700 [DOCKER_MICROSOFT] query=NLWNSCK,localhost,1433
  1. The path to the ini File is set in the Menu Tools/Options/Database

Arguments XML File

The arguments.xml file is the way to load SQLBrowser preferences from a file.

File Name Format

The argument file can be specified either as a regular file name or as URL. Examples:

Type Example
Regular File C:/temp/arguments.xml
URI for local file file:///C:/temp/arguments.xml
URI for remote file file://remotehost/remotedir/arguments.xml
URI for web server http://remotehost/remotedir/arguments.xml

File Content

Copy to clipboard
<arguments> <option name="myoption" value="myvalue"> <batch_analysis server="myserver" databases="db1 db2" crdate="31/01/1996" > </arguments>

Option names:

This is a very important option which starts a non-interactive SQLBrowser. See Batch Analysis for more information

Example:

Copy to clipboard
<arguments> <option name="/org/netbeans/core/proxyType" value="1"/> <option name="/com/sqlbrowser/sqlbm/jcon_PACKETSIZE" value="1024"/> <option name="/com/sqlbrowser/sqlbm/prefs_ba_doGenerateScript" value="true"/> </arguments>

Multiple Argument Files:

You can pass several arguments file names separated by commas. This can be handy to separate license from other settings for instance. Example:

Copy to clipboard
-J-DargumentsFileName="C:/SQLBrowser/arguments_license.xml,C:/SQLBrowser/arguments.xml"

Distributed Arguments

Important: The file distributed_arguments.xml residing in the license server allows to define arguments that will override locally defined arguments. It can be used to force the options that the organization wants. For instance, if you want to make sure that the SQLBrowser application name is the same for all users, you can define it in distributed_arguments.xml. You may also want to share servers definition, or any other setting. Here is an example:

Copy to clipboard
<arguments> <option name="/com/sqlbrowser/sqlbm/licenseData" value="xxx...xxx=="/> <option name="/com/sqlbrowser/sqlbm/jcon_APPLICATIONNAME" value="SQLBrowwser"/> <option name="/com/sqlbrowser/sqlbm/dbServer_MY_SERVER" value="microsoft:localhost:1433"/> </arguments>

Favorite Directories

To add a Favorite Directory to the Favorite Files, Right click in the favorites pane, and click Add To Favorites
It is recommended to add all directories containing your SQL Source Files

Editing SQL Files

Opening SQL Files

There are 4 ways to open an SQL file for editing (in the worse-to-better order):

  1. Use the File/Open Menu (slow, discouraged)
  2. Drag a file to the editor
  3. Use the Favorites tab on the left to add Folders and Files (Right Click: Add to Favorites).
    If the favorite tab is absent, make it appear from the Windows menu
  4. Use the Find Object tab (Ctrl-Shift-O) and tick the Source Option as the default action for Enter.
    You will need to setup the Sources Options in the preferences.
    This is the most efficient way to open a source file

Editing Source Files

SQLBrowser recommends to work on source files and not on extracted objects. To work on real SQL Source files, you need to:

  1. Have your source files located under a well defined root on disk.
    It is advised to have the files organized in directories matching the object type and also the database.
    For example C:/SQL/procs/database1/proc1.sql

  2. Create the object-to-source file association in the Tools/Options/SQLBrowser/Sources panel

  3. Set the Root Dirs field to a comma separated list of root directories where the source files are. It is advised to only have one root directory.

  4. Create Rules to enable SQLBrowser to find the location on disk of a given object. See the explanations at the bottom of the panel. Rules are matched top to bottom (you can move rules up and down)

Main Shortcuts

Shortcut Action
<Alt><Ctrl><Shift><F> reformat the code
<Tab> / <Shift><Tab> indent/unindent the marked block
<Ctrl><Slash> comment/uncomment a block
<Ctrl><Click> open object definition
<Ctrl<Space> auto-completion. For auto completion of joins, please refer to Dependencies And Schema
<Ctrl><K> auto-completion of any word met previously, convenient for temp tables names or columns
cmd<TAB> command history

Templates

Use Templates to speed up code writing.
For example, type crp<TAB> expands a stored proc creation template.
You create your own templates in File/Option/Editor/Code Templates (Language:SQL)

Pragmas

Pragmas are special tokens in comments that are used for the purposes below:

Acknowledge Defect Pragma

Abbreviation: pra<TAB>

If SQLBrowser reports a defect that you know about and that you cannot or do not want to address, you can acknowledge such a defect.
A typical example is a deliberate cartesian product.
To do this, insert a pragma as a comment just before the statement which generates the defect.

Syntax:
-- pragma acknowledge next defect <DEFECTCODE> comment_explaining_why_we_acknowledge

e.g.:

Copy to clipboard
-- pragma acknowledge next defect QAFM key of currency is wrong but we know that**` select @id_ccy = id_currency from narval..currency where cd_iso_ccy = @cd_iso_ccy

Dependency Pragma

Abbreviation: dep\<TAB\>

When using dynamic exec or dynamic SQL, it can be useful to declare the implicit run-time dependency(ies) induced by the dynamic call. To do this use the following pragma immediately before the dynamic exec or dynamic sql

Syntax:
-- pragma dependency (exec\|select\|insert\|update\|delete) <fully_qualified_name>

e.g.:

Copy to clipboard
-- pragma dependency select tiny..AView2 exec ("select * from tiny..AView2")

Result Set Title Pragma

Abbreviation: tit<TAB>

Gives a title to result set.
This title also exists in the Excel Export

Syntax:
-- pragma title <Result Set Title>

e.g.:

Copy to clipboard
-- pragma title Sales for France select * from sales_france -- pragma title 3 three rset to come select 12 select 13 select 14 select other

i.e.:

Code Templates

You can reduce the number of keystrokes when you are typing code by typing abbreviations to generate code from templates. The abbreviation is expanded into the template after you press the Tab key. SQLBrowser comes with a set of code templates. You can create your own code templates. To create your own code template, go to File/Options/Editor/Code Template and select the SQL Language.

You can use the Expand Template On drop-down list to change the key or key combination that is used to expand the abbreviations. By default, abbreviations are expanded when you press Tab.

Running SQL Files

Running SQL Files

You can either open an existing SQL file or create a new file to type SQL statements.
Each window has its own connection, which is opened on the first SQL run or when you Right-Click in the window
ImageSQLBrowserScreenShot090jpg

Run Options

  1. Run Options allow to choose Options in order to view IO or Query Plan information
  2. MonProcessActivity displays the MonProcessActivity table (Sybase only) at each run. It requires:
Copy to clipboard
exec sp_configure 'enable monitoring', 1 exec sp_configure 'wait event timing', 1 grant role mon_role to my_user set role mon_role on

Selecting Rows in the Result Window

There are 3 selection modes:

- Row Selection
ImageRsetselectionScreenShot011jpg

- Column Selection
ImageRsetselectionScreenShot012jpg

- Free Selection
ImageRsetselectionScreenShot013jpg

Switching between these modes:

Inspecting a Stored Procedure

If you just need to inspect a stored procedure without willing to modify it, Right-click Analyze

Trees Pane

Analyzing a stored procedure produces a parse tree. The Trees pane shows different views of this parse tree. for instance an if statement will be represented by the following tree:
ImageSQLBrowserScreenShot002jpg

Filtering

ImageSQLBrowserScreenShot004jpg

Clicking on an icon filters the tree on nodes of interest:

ImageSQLBrowserScreenShot005jpg

Objects Pane

This tab shows all objects (i.e. procs and tables) that are used throughout the proc execution. For instance, given a table, you can find immediately all accesses to this table. Tables indices are also shown in this tree.
ImageSQLBrowserScreenShot006jpg

Queries Pane

This tab takes all SQL queries (insert/select/update/delete) and presents them in a readable way. This is particularly convenient when you deal with very complex queries, where the where clause has been amended many times and is not easy to read. Here, the presentation of the where clause is ordered:

  1. SARGS are shown first, sorted by table (all SARGS on one table are shown close to each other)
  2. JOINS are shown second, sorted by table (all JOINS on two tables are shown close to each other)

for instance, the query:
ImageSQLBrowserScreenShot007jpg

is broken down in the Queries pane like this:
ImageSQLBrowserScreenShot008jpg

Show Diagram (Right Click on Query)

ImageSQLBrowserScreenShot078jpg

ImageSQLBrowserScreenShot077jpg

Variables Pane

This tab shows all events that happens to stored procedure variables.

ImageSQLBrowserScreenShot010jpg

Defects Pane

This tab lists all potential defects found in this call tree.
List of detected defects
Note that this list is growing as more features are added to SQLBrowser.

Debugging a Stored Procedure

SQLBrowser implements a simple step-by-step debugger by merely sending executables statements one by one to the server. The state of local variables is kept, which allows for substitution when sending statements. There are two main usages of the debugger:

In both cases, local variables, cursors and temp tables are present in the context, which greately helps debugging compared to doing it by hand.

Steps to debug a stored procedure

  1. Open the server on which you want to debug a stored procedure

  2. Open a New File and type the invocation of the stored procedure

  3. Click on Start Debugger
    ImageSQLBrowserScreenShot085jpg

  4. Click on Step Into to enter the debugged stored procedure body
    ImageSQLBrowserScreenShot086jpg

  5. Step into/over the executable statements

  6. At any time, you can replay any statement

  7. You can toggle break points by clicking in the line number gutter
    ImageSQLBrowserScreenShot087jpg

  8. Once you have reached the end of the debugged stored procedure, or if you press Stop before the end, you are presented a summary of all statements IOs. This helps spotting statements with long IOs
    ImageSQLBrowserScreenShot088jpg

  9. To completely stop the debugger, press Stop again
    ImageSQLBrowserScreenShot089jpg

Batch Analysis

Batch Analysis performs an analysis of one or several databases, and produces an HTML report which documents the database. To launch the Batch Analysis, select some databases in the object chooser (Use the usual Ctrl or Shift keys to select several databases), and right click Batch Analyze. The HTML report produced is located in the output directory under the sqlbhtml/<SERVERNAME> directory.

An example of HTML output can be found here

The Batch Analysis is best ran periodically as a scheduled task from a server machine. Doing so enables the developer community to use an accurate report at any time.

How to set up Batch Analysis as a Windows Scheduled Task

Copy to clipboard
<arguments> <batch_analysis server="NGX3" databases="db1 db2" /> </arguments>
Copy to clipboard
<arguments> <batch_analysis server="HPH8NGX_16SP02" databases="master" /> <option name="/com/sqlbrowser/sqlbm/prefs_ba_dependencyColoring" value="true"/> <option name="/com/sqlbrowser/sqlbm/prefs_ba_doDrawings" value="true"/> <option name="/com/sqlbrowser/sqlbm/prefs_ba_doGenerateScript" value="false"/> <option name="/com/sqlbrowser/sqlbm/prefs_ba_doResultSet" value="true"/> <option name="/com/sqlbrowser/sqlbm/prefs_ba_doWriteAnalysis" value="true"/> <option name="/com/sqlbrowser/sqlbm/prefs_ba_simulateApplications" value="true"/> <option name="/com/sqlbrowser/sqlbm/prefs_ba_writeAnalysisShowDetailedCWandDP" value="true"/> <option name="/com/sqlbrowser/sqlbm/last_server_opened" value="HPH8NGX_16SP02"/> <option name="/com/sqlbrowser/sqlbm/servers/HPH8NGX_16SP02/successful_connections/00000" value="sa|true|83F5946D16C3D986DFF47D7BC1A9DAAF|true|"/> </arguments>
Copy to clipboard
C:\temp\sqlbrowser\bin\sqlbrowser_w.exe --nosplash -J-Xms64m -J-Xmx3g -J-DargumentsFileName="C:/temp/sqlbrowser/arguments.xml"

Memory Considerations

The Batch Analysis requires a fair amount of memory to run correctly. The maximum size depends on the number of objects scanned.

If Batch Analysis takes too long to complete because of Memory Issues, you can disable the options in the preferences for Batch Analysis:

Applications And Coloring

The idea of 'Application' is a way to tag databases objects with an Application name and a Color.

Defining Applications

To give Application attributes to tables, tables columns or stored procs params, you need to create a couple of special tables with the following structure, in any database you like. For example:

Copy to clipboard
use anydb go drop table sqlbrowser_application_object go drop table sqlbrowser_application go create table sqlbrowser_application ( application varchar(255) not null, color varchar(255) not null, primary key ( application ) ) go create table sqlbrowser_application_object ( object varchar(255) not null, application varchar(255) not null references sqlbrowser_application( application ), primary key ( object ) ) go

The first table describes your applications and attach a Color to them in Hex RGB format. For examples of color codes, see this link.

The second table represents the association between objects (tables or procs) and applications. The object field must be the fully qualified object name. These attributes appear in the Column Writes page and in schema.xml.

example:

Copy to clipboard
use mydb go insert sqlbrowser_application values ( 'Application_1', '0xFF4f4f' ) insert sqlbrowser_application values ( 'Application_3', '0xFFF952' ) go use sybsystemprocs go insert mydb.sqlbrowser_application_object select lower(db_name())+'..'+lower(name), 'Application_1' from sysobjects where type in ('P','TR') go

You can also choose to get a random color per database through the Assign Random Color option

Effect in write analysis:

The Column Write analysis shows each write to a permanent table. When Write Analysis is turned on, the color of top level stored procs parameters or source columns will propagate into the columns of permanent tables recursively.

Effect in dependency propagation:

When you click Propagate Coloring Through Dependencies, each proc will get painted with the color of any object it touches

Dependencies And Schema

The Batch Analysis produces both a Dependency File which contains inter-objects cross-reference information and a Schema File which contains join information. You can use these files in your own programs if you wish, the structure is quite simple. You can also use these files interactively directly in SQLBrowser:

How To Use Dependencies And Schema Files In SQLBrowser

Dependency Pragma

When using dynamic exec or dynamic SQL, it can be useful to declare the implicit run-time dependency(ies) induced by the dynamic call. To do this use the following pragma immediately before the dynamic exec or dynamic sql

-- pragma dependency (exec\|select\|insert\|update\|delete) <fully_qualified_name>

example:

Copy to clipboard
-- pragma dependency select tiny..AView2 exec ("select * from tiny..AView2")

Generating Insert/Update/Delete

You can generate a file containing either insert, update or delete statements for each record of a table. You can narrow down the set of records for which to generate the statements by specifying a restrictive where clause. For example, given the table:

Copy to clipboard
create table t ( c1 int primary key, c2 int )

that contains:

c1 c2
1 11
2 12
3 13

If we specify c1>1 in the where clause field, it will only generate updates for rows 2 & 3:

Copy to clipboard
/* Generated with SQLBrowser on 20 08 2009 Where Clause: where c1\>1 */ update propagation..t set c2 = 12 where c1 = 2 update propagation..t set c2 = 13 where c1 = 3

The update and delete need to know the PK of the table in order to generate the where clause

Monitoring

Right click on a server node and choose Monitor will launch the monitoring of this server. The Monitor shows a sp_who like panel refreshed every second or so. It allows to spot long running processes
ImageSQLBrowserScreenShot091jpg

Capturing TDS (Sybase Only)

Right click on a server and choose Set as Capture Server allows to consider the SQLBrowser process as a pseudo SQL Server which will carry forward each request to the server set up as the Capture Server. To use the capture feature you need to follow these steps:

Copy to clipboard
[SQLBROWSER] master=NLWNSCK,PORTABLE,8723 query=NLWNSCK,PORTABLE,8723

Unsetting the capture server

Misc

Log File

The log file is located in the output directory. It contains traces which help diagnosing issues with SQLBrowser. It is accessible through the View/SQLBrowser Log File Menu. Please always attach this log when filing an issue.

Troubleshooting

Please make sure you understand what are the main directories used by SQLBrowser first by looking at SQLBrowser Directories.

  1. the first thing to look at is the content of the SQLBrowser log file:
  2. This file is named sqlbrowserlog.txt
  3. Open it via the View/SQLBrowser Log File Menu**
  4. If SQLBrowser hangs at startup or refuses to start or has certain Bug Notifications in the lower right of the screen:
  5. Shutdown SQLBrowser
  1. Remove entirely the var directory in the SQLBrowserUserDir
  2. Restart SQLBrowser
  3. After an upgrade, it may happen that some persisted classes are no longer compatible with the new version.
    You may find that the memory grows and you may find Exceptions in the IDE LOG (Accessible from View Menu)
    In such case please do the following (Under Windows):
  1. Locate the user directory
  2. Copy this directory to a safe place or rename it e.g. rename it to .sqlbrowserOLD
  3. Delete the original directory after you have copied it to a safe place or renamed
  4. Launch SQLBrowser (SQLBrowser should start clean)
  5. Shutdown SQLBrowser
  6. Check that SQLBrowser has recreated the user directory content with default values
  7. Restore the interesting preferences directory from the saved directory: copy the entire sub directory: config\Preferences\com\sqlbrowser (see image below) into the new user directory at the same relative location
  8. Launch SQLBrowser (SQLBrowser should now restore your options)
    ImagePreferencesDirectorypng

if windows don't show up properly, it may be due to the persistence mechanism trying to restore incompatible versions of the stored windows configuration.
To solve the issue, do either of the following in this order:
Click on the Window/Reset Windows menu item

  1. Quit SQLBrowser
  2. go to the user directory and delete the config/Windows2Local directory
  3. If the windows which does not show is the Options Window for instance, go to the user directory and delete the config\\Preferences\\org\\netbeans\\modules\\options directory.
    The options panel coordinates are stored in this file rather than in the Windows2Local directory mentioned in the point before

In general, removing the <userdir>/var directory (when SQLBrowser is not running ) is never really harmful and can help clearing certain situations

Reporting a Problem

If your problem persists, send an email to support@sqlbrowser.com and always attach the following files:

  1. File # 1: The SQLBrowser client log file: SQLBrowserlog.txt You can view this file by using:
  2. File #2: If the issue lies with the License Server, also send the SQLBrowser server log file:
    SQLBLicenseServerLog0.txt which resides in the bin directory of the License server

It is practically impossible to resolve issues without these trace files. These files are technical logs and contain no confidential information.

Using SQLBrowser connecting to Production Servers

It is not recommended to use SQLBrowser on Production Servers because many Analysis Tasks and Development tasks can be performed as well on Dev servers. However, if one wants to use SQLBrowser against production servers, you can use server colors to paint windows background in light RED for instance, so that it becomes explicit that one is connected to a Production Server. If your policy requires that such tools are forbidden in production, create a login trigger which rejects connection which are named SQLBrowser.

Known Bugs And Limitations

Copy to clipboard
declare main_cursor cursor for select * from #t1 declare sub_cursor cursor for select * from #t2 where c2 = @c1 --!deferred evaluation! open main_cursor fetch main_cursor into @c1 -- @c1 is only known here! open sub_cursor
Copy to clipboard
create proc p as create table #t (a int, \[new\] int) insert #t values (1,2) select \* from #t -- will expand to "select #t.a, #t.new from #t"

Contact

Please contact us only through emails :

Regular Expressions Help

List of Detected SQL Defects

Best Practices

Store SQL Source files in Source Code Control

It is common to use a VCS to store SQL source files, therefore we recommend this choice naturally. SVN & Git are now integrated in SQLBrowser and the source option allows to open directly the sources from the object chooser rather than the extracted objects.
This has the following productivity advantages:

  1. versioned directories are immediately recognized in the favorites
    ImageSVNFILESjpg

  2. local changes are shown in the left gutter
    ImageSVNLOCALDIFFjpg

  3. check in, checkout, merge, diffs, annotations and search history are all available
    ImageSVNMENUjpg

See Netbeans Version Control for more informaion

Schedule Batch Analysis with results on a shared drive

Use a Windows Task or a crontab to schedule daily or weekly batch analysis. This will have the following advantages:

  1. Users bookmark these analysis pages as a reliable source of truth
  2. Dependencies and Schemas (Foreign Keys) are available from every interactive SQLBrowser (Server Input Dir option)

Please follow the instructions here to set this up

Connecting to ASE using SSL

  1. Make sure that the server you want to connect to has SSL enabled (i.e. sp_configure "enable ssl", 1...)
  2. Get the Server certificate in PEM format, say cert.pem. Go to SAP documentation to get more information
  3. Insert this certificate inside the Java embedded cacerts file through a command like:
    keytool -import -trustcacerts -alias a1 -file cert.pem -keystore c:/SQLBrowser/bin/jre/lib/security/cacerts
  4. NB: An alternative is to use a specific cacert file by setting a specific environment variable, e.g.:
    SQLB_commandLine=...-J-Djavax.net.ssl.trustStore=C:/xxx/cacerts
  5. On the Connection Params Pop-Up Menu,/Connection Properties, Set the flag ENABLE_SSL to true

Connecting to MSSQL using Kerberos

  1. Create the following connection params:

Performance Considerations

Performance Hints

  1. Memory: Always pass enough memory on the launch script. SQLBrowser is greedy. Especially for Batch Analysis
  2. Local Drive: Class loading from a network drive is slow.Always install SQLBrowser on a local drive.
  3. Remove Auto Analyze Source Files option in Options/General if you find that it eats too much resources
  4. Anti-virus: Batch Analysis produces a lot of files. Exclude SQLBrowser output directory from the antivirus write scans if applicable.
  5. Update Stats on System Tables: SQLBrowser reads a lot from system tables. On ASE 15, it is sometimes necessary to run manual update statistics on system tables (!) to speed up SQLBrowser. This was not necessary in V12.5.
  6. Subversion: When linked with SVN, SQLBrowser can be slow to start. This is because of the number of SVN stats it launches (when either opened files are under SVN or favorties point to SVN directories)
  7. Monitoring Throttling: To avoid SQLBrowser monitor taking too much resource on the server you can act on 3 parameters: (Options/Monitor)

License Server Installation

License server host

  1. Identify a Windows Server (preferably) whose IP is reachable from any future SQLBrowser client:
  1. Download the latest available SQLBrowser zip file
  2. Unzip it in a directory called SQLBrowser for instance

Send Server Information

  1. Open a Command Prompt in the bin directory
  2. Launch the command file start_server_manual.cmd (or .sh)
  3. It will output lines that look like this:
Copy to clipboard
========= This Host Info ================= MAC-Address: 42-61-73-D8-7A-29 IP: 192.171.21.19 FREE PORT: 16421 ==========================================
  1. Copy and Send the 5 lines above by email to support@SQLBrowser.com
  2. You will receive two files to place in the server bin directory
  3. Important:

Copy The License Key Files In The Bin Directory

  1. For windows, make sure you have Administrator Rights on the Windows Server machine
  2. Copy the 2 files received into the "bin" directory:
  1. Open a Command Prompt in the bin directory
  2. Launch start_server_manual.cmd
  3. Check the last line output: It should say: License Server started on port 16421
  4. Do not continue if this step is not successful.
  5. (Windows) Create the Windows Service:
  1. When the service is running, verify the last line in the file SQLBLicenseServerLog0.txt: Server started on port 16421
  1. Running the License Server ona non-Windows machine (Unix/Linux/MacOS)
Copy to clipboard
java -DargLicenseFileName=arguments_license.xml -DdistributedArgFileName=distributed_arguments.xml -DlicenseLogDir=. -DlicenseDebugTrace=false -cp ../sqlbrowser/modules/com-sqlbrowser-sqlbm.jar com.sqlbrowser.ls.LicenseServerMain
  1. FYI, (Windows) Verifying SQLBrowser Client In The Server Bin Directory
Copy to clipboard
sqlbrowser.exe --jdkhome "%cd%/jre" -J-Duser.name=sqlbtest -J-DargumentsFileName="bin\arguments.xml, bin\arguments_license.xml"

The first parameter sets the user to a dummy user called sqlbtest, with no preferences pre-stored anywhere