Over the years efforts have been made (dbsrv16 -q options) to satisfy the OPPOSITE request (turn OFF the icon, console window, etcetera).

However... a power user in complete control of their own computer might want to (a) start dbsrv16.exe as a service because, well, it's convenient, (b) know that the engine is running by the presence of an icon in the system tray and (c) have access to the engine by clicking on the system tray icon.

So... what can I do to get/build/create such an icon for a dbsrv16 service?

Something involving dbconsole perchance?

asked 17 Jun '13, 04:53

Breck%20Carter's gravatar image

Breck Carter
26.2k430599862
accept rate: 20%

edited 18 Jun '13, 03:15

Volker%20Barth's gravatar image

Volker Barth
30.8k308456665

2

Use a pre-Vista Windows version, and allow the service to interact with the desktop:)

(17 Jun '13, 05:08) Volker Barth
Replies hidden

...very funny :)

(17 Jun '13, 06:50) Breck Carter

Well, if you do not want to let dbconsole run all the time (it's a Java GUI, AFAIK, and doesn't come cheap IMHO) I guess it's way less funny (if even possible) to build something that would behave like the dbsrvX system tray icon. Even dbconsole won't let you access the engine itself directly.

Of course power users could use the Task Manager to get to know whether the dbsrvX process is still available...

(17 Jun '13, 08:02) Volker Barth

To add a serious hint:

One could surely have a simple monitor program that checks whether a particular exe is running - e.g. based on Win32 API, you might start a small app that displays a tray icon if it notices a particular (say, named) dbsrvX process and will close if it notifies its shutdown/exit (say, via waiting on the process handle). [CAVEAT: I don't know whether this would work for processes running in different OS sessions... John knows, for sure.]

Or you might have a small app that dbpings the desired database server/database in a loop...

But that would not fulfill the requirement (c)...

(17 Jun '13, 08:07) Volker Barth

I should mention that the SQL Anywhere Monitor does have a system tray icon, which only launches the full web console - there is nothing to indicate service status of monitored databases or directly access the database console window though.


To me, this looks like an potential enhancement request to add a system tray icon to dbconsole, like Interactive SQL and Sybase Central already have...

The first enhancement would be to allow dbconsole to minimize to the system tray - I don't think that's currently possible. The enhancement could also include a feature that if it does start and connect, the system tray icon is there with a 'green' status, if not, maybe a 'red' disconnected icon if dbconsole is started in special 'client service' mode. Otherwise, prompt for the corrected connection information as it does currently today. We could continue the enhancement so dbbconsole could also be enhanced to be setup to periodically automatically attempt a re-connect to the server with the current connection information if it does gets disconnected in the 'client service' mode.

This still would not directly address c), but that is still a limitation of Windows' session handling - a client connection to remotely monitor the current database log/process is about the best you can hope for in this situation. You can't directly access any of the process information (aside from the PID) so you wouldn't be able to 'directly' read any of the configuration information from the server.


Would such an enhancement to dbconsole be at all useful for this situation (for Breck, or others)? If so, I will put in an enhancement request to be further considered in a potential future version of SQL Anywhere.

permanent link

answered 17 Jun '13, 09:19

Jeff%20Albion's gravatar image

Jeff Albion
10.7k171174
accept rate: 24%

Yes, please... especially if it maintained the one-system-tray-icon-per-running-engine-instance, because the existence of system tray icons becomes ESPECIALLY important when the power user has multiple engines running ("I see six icons, where's number seven?")

[insert standard argument for running all databases on one server here]

[insert definition of "power user" here to counter the standard argument]

Methinks that dbconsole is rather [cough] heavyweight for this requirement, like using your own private A320 Airbus for weekend trips, but hey? Who DOESN'T want to be Sultan of Brunei? :)

(17 Jun '13, 13:19) Breck Carter
Replies hidden

Speaking of royalty . . . I know, feeble segue, but funny . . .

alt text

(17 Jun '13, 13:37) Breck Carter

I think it's fair to expect this would be a one dbconsole per server since that is how it works today.

I have opened CR #741715 for this enhancement request. Thank you for the enhancement suggestion.

(17 Jun '13, 14:09) Jeff Albion
Replies hidden

Hm, 7 dbconsole instances running on a box with 7 database servers - call it a continuous stress test for database performance:)

(18 Jun '13, 03:24) Volker Barth

oops... I projected Monitor functionality onto dbconsole... "why can't my car fly? it has wheels like a plane" :)

(18 Jun '13, 07:38) Breck Carter
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×107
×35
×15
×9

question asked: 17 Jun '13, 04:53

question was seen: 2,933 times

last updated: 18 Jun '13, 07:39