[Mono-list] PostgreSQL and SQL# For GTK# on Linux

Daniel Morgan danmorg@sc.rr.com
Mon, 23 Dec 2002 16:29:40 -0500


This is a multi-part message in MIME format.

------=_NextPart_000_0003_01C2AAA0.7DF172A0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

I have attached a screenshot of SQL# For GTK# retrieving data from a
PostgreSQL database on Linux.

I used Mono 0.17, GTK# 0.6, gtk+ 2.0, and the PostgreSQL database that came
with Red Hat Linux 7.2 i386.

To do this, you will need:
- Linux
- GTK+ 2.0 and dependencies
- Mono 0.17
- GTK# 0.6
- source to mcs 0.17

For Red Hat, there are RPMs at a local mirror, or you could use Red Carpet
at http://www.ximian.com/
For Debian, there are debs at
http://www.atoker.com/mono/

GTK# 0.6 can be found at:
http://gtk-sharp.sf.net/

Mono 0.17 can be found at:
http://www.go-mono.com/download.html

Unfortunately, I have been unsuccssfull at retrieving data from PostgreSQL
on Cygwin with SQL# For GTK#.  Mono crashes when doing so.

Once you have PostgreSQL, gtk# 0.6 and up and running on Mono 0.17, cd into
the mcs 0.17 source and:

    cd tools/SqlSharp/gui/gtk-sharp
    export CSHARPCOMPILER=mcs
    export CLR_LIBS_PATH=$HOME/mono/install/lib
    make -f win32.make

if it compiles successfully, try running it:
    mono sqlsharpgtk.exe

If it loads successfully, click File -- Connect

   Select Provider: PostgreSQL

and enter your connection string.
For me, I used:

   host=localhost;dbname=test;user=postgres

Click Ok.

if you didn't get no error saying it couldn't connect, try entering some
SQL:
  SELECT * FROM pg_tables

Click Execute, and you should get a result of tables.

There is an alternative way to display the results, click the Output button.
Instead of a grid (Gtk.TreeView) it is a text viewer (Gtk.TextView).


------=_NextPart_000_0003_01C2AAA0.7DF172A0
Content-Type: image/png;
	name="SQL#4GTK#PostgreSQL.png"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="SQL#4GTK#PostgreSQL.png"

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
D9br9aVLlx45cmTr1q3XXXv1xIcfvvzKK//8zwcu/fjHPvOZdcsu/dju3f9UqVS++c1vdnV1yd2T
5JfQMV2SBJRwMFiv1++4447v/ef/8Pmvr/+LKzdXnWrJLYksW+ksr7nt+okPxt7Z//++tfGvSqUs
vyZHDgXmuaR59uWXX37yySd//etfX3zxReVypaen56KLLrrmmmvK5bLnOaOjx/94YN0lH7t0aGjP
mWcsHB8f//DDDxctWqSp0DdudZrIRwl3LJVKixYtuu8vv/3ozv91sjp5/XWrPccVo1rXdV23+t6B
9//0q3++evVqdSQOAE1KOnB7/fXXly+//N//2V23ffHmq668dO/evRdccMFP/3FXT8+CG9esfuih
h750261vv7X/9Tf2Xb783/T39+vP2sv0KlKtb5NmUV+nvoDrup2dncuWLfuTW+968WcvvXngd55X
dx3XcZypkx/uGdx3x5e+sXbt2gULFmQ7nmXuFZjnEg3cXnvttZ/97B+//KUvjo+dmJg42dt7pefV
nn766W/fd8/MzOzY2NjJid/95pWx9z84sfS8c996a//XvvY132A29loomXB9+TcqHTunkrWvpF6p
VOrp6enr6/uP3/5P2370w+oXq7POzMmx8X8dOvLnG+8b+OOBhQsX6r9w4YskNryG2hIbP4AiSpRn
a7XaRRddfP7551erc+ctvXDJkvOWnLN4wYK5n/z9Pyw+e5HrdlxyyfkHD/5fx3WPHn33hhvWVCoV
cUJJCJ2cDT72FUu+2FCGKpVK3d3dF1xwwbc2bvnfj/9t5/lzh3/3zh23feNTaz8Vm2Q1h0sdfKPx
AyicRHn28ssvX7Jkye9///ul5y3p7Cy/+eabx957f8OGDRdeeKHnefv27XvxV7vPXHTWXXfdNTk5
2dvbu3DhQpunOEulUldX12WXXXbXV/50+//8r3f8u2+svXHtGWecYe1Xh+++++5WhwAgvUTZ8Oyz
z/7kJz+5c+fOo0ffWbTojJmZ6mWXXbZy5corrriiu7t73bp1d9555+Tk5JIlSxYtWlSpVHp6eqzN
WYKYQPjEJz7x337w3xcuXLhgwQJDAWcyVuUbt0ChJcqzpVLpy1/+8tq1ax999NHx8fH+/v4rrrji
/PPPX7x4cVdXV71eP+uss8QFs5VKJduTSOaICYTOzk7XdYsSM4AiSvrpvrOzc+nSpVu2bPnwww9d
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
dQwA0M7+P6SVHgy2iKB0AAAAAElFTkSuQmCC

------=_NextPart_000_0003_01C2AAA0.7DF172A0--