I'm taking a stab at what your mean by some of these features, but with the exception of:

* Enable multiple active ODBC connections and the ability to switch be +tween them

I think that the Cygwin bash shell might suit your needs. Some of the things bash doesn't do internally can be implemented with auxiliary scripts or shell 'functions'. Specifically, bash can do:

* Command History * Multi-line command input * Enable editing of multi-line statements retrieved from history * Flowthru of DOS commands from shell * Enable predefined commands to be easily added to shell

and the rest probably can be implemented as external commands.

Maintaining active ODBC connections is a potential problem, but I see a couple of different approaches:

  1. Add this feature directly to bash (it's open source).
  2. Create an 'ODBC server process' which would accept commands from some sort of socket connection (either real socket or named pipe), direct them to the appropriate ODBC connection and return the results. The ODBC connections would persist for the lifetime of this server process.

This would require you to invent a serialization for ODBC commands and results.

Finally, another thing I'd look into is the Windows PowerShell. One of the things I remember reading about it was that it had extended the stream concept to include streams of objects, not just characters. This would be helpful if you want to pass complex data structures between processes using the pipes paradigm. For instance, how about being able to write something like:

odbc 'select * from foo' | format-html-table

The 'lines' emitted by the odbc command are really objects so that it is easy for downstream processes to correctly interpret the row data.


In reply to Re: Which Module for Win32 Shell by pc88mxer
in thread Which Module for Win32 Shell by TeraMarv

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.