Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Morgan <monodanmorg@yahoo.com>2002-05-06 02:40:31 +0400
committerDaniel Morgan <monodanmorg@yahoo.com>2002-05-06 02:40:31 +0400
commita783bffaa9e4e2241e8fb998e88c2eb8901b6dea (patch)
treeaef0862683010dcb90c338cb52ff97c6d76fd65a /web/ado-net
parentc3458f3b46980fe61a147ded5b15a91719eafaf6 (diff)
2002-05-05 Daniel Morgan <danmorg@sc.rr.com>
* doc/ado-net: updated to include installation of PostgreSQL DBMS under cygwin. It is a TODO for Linux though. Also included notes on running the System.Data/Test/PostgresTest.cs that should work on a lot of Mono installations that have PostgreSQL installed. If not please let me, rodrigo, or gonzalo know. svn path=/trunk/mono/; revision=4321
Diffstat (limited to 'web/ado-net')
-rw-r--r--web/ado-net187
1 files changed, 187 insertions, 0 deletions
diff --git a/web/ado-net b/web/ado-net
index 26979874d20..7e5c6f18c0f 100644
--- a/web/ado-net
+++ b/web/ado-net
@@ -72,3 +72,190 @@
* compile the test program along with the System.Data.Common and
System.Data.SqlClient files.
</ul>
+
+* Testing
+
+ In order to test System.Data.SqlClient, you will need to have
+ access to a remote PostgreSQL DBMS, or you will have to install
+ one locally. PostgreSQL is the DBMS used for the initial
+ implementation of System.Data.SqlClient.
+
+ Why? Because it is open source, has a client
+ library that is easy to use, PostgreSQL is easy to install
+ using the Cygwin install program, not difficult to setup after
+ installation, and it runs under: Linux,
+ Windows (via cygwin and ipc-daemon), Unix, and
+ others. This allowed us to create the
+ System.Data functionality in Mono much quicker.
+
+ If you plan on using a remote PostgreSQL DBMS Server,
+ than you will need to have the PostgreSQL client software on your
+ local computer that includes libpq.so (pq.dll on Windows).
+
+ Installation instructions for PostgreSQL DBMS:
+
+ <b>On Linux</b>
+
+ <ul>
+ * TODO
+
+ * It easier to install PostgreSQL on Linux than Windows.
+ </ul>
+
+ <b>On Windows</b>
+
+ <ul>
+ * Use the cygwin installer to install the PostgreSQL DBMS. It is
+ found in the database category.
+
+ * Read the file postgres-x.x.README at /usr/doc/Cygwin and read
+ the requirements to install PostgreSQL. Those requirements
+ are included with cygwin except cygipc. A default installtion
+ of cygwin does not install everything you will need, so on the
+ safe side, just include everything when installing cygwin.
+
+ The -x.x in postgres-x.x is the version of your PostgreSQL DBMS.
+
+ * Once cygwin has installed PostgreSQL on your computer,
+ read the file FAQ_MSWIN which is available
+ in /usr/doc/postgres-x.x\FAQ_MSWIN
+
+ The -x.x in postgres-x.x is the version of your PostgreSQL DBMS.
+
+ Important notes from this file are:
+
+ * Point 2. - Install the latest cygipc package,
+ available at
+ http://www.neuro.gatech.edu/users/cwilson/cygutils/V1.1/cygipc/
+
+ The cygipc package contains the ipc-daemon you will need
+ to run before you can
+ run the PostgreSQL DBMS Server daemon (postmaster) or run
+ initdb which initializes the PostgreSQL database.
+
+ * Point 3. The Cygwin bin directory has to be placed in
+ the path before the Windows program directories,
+ for example, C:\cygwin\bin
+
+ My own note, in the Windows control panel, I set
+ the environment variables PATH to my cygwin /usr/local/bin,
+ /usr/bin, and /bin. I also set my LD_LIBRARY_PATH to
+ /usr/local/lib and /usr/lib. For example:
+
+ PATH=c:\cygwin\usr\local\bin;c:\cygwin\usr\bin;c:\cygwin\bin;
+ LD_LIBRARY_PATH=c:\cygwin\usr\local\lib;c:\cygwin\usr\lib;
+
+ * Point 4. Start the ipc-daemon that came with the cygipc package. There
+ are two ways to do this: run it from the command line as:
+ ipc-daemon &
+
+ or you can set it up as a Windows service. See the
+ file cygrunsrv.README at /usr/doc/Cygwin on how to do this. Note the
+ troubleshooting section at the end of the cygrunsrv.README file.
+
+ * Read the installation.html file
+ at /usr/doc/postgresql-x.x/html/installation.html
+
+ In this file, you will run the following commands:
+
+ * mkdir /usr/local/pgsql/data
+ * initdb -D /usr/local/pgsql/data
+ * postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
+ * createdb test
+ * psql test
+
+ When you need to connect to the database,
+ you will need ipc-daemon and postmaster running. Start ipc-daemon
+ before any of the command above.
+
+ psql is a command-line PostgreSQL client tool to
+ enter and run SQL commands and queries.
+
+ If there is no database user named postgres, create a user named
+ postgres with the following SQL command in the client tool psql:
+ plsql test
+ create user postgres with password 'fun2db';
+ The only reason I say this is so you can easily use the System.Data tests
+ without having to change the database, userid, etc.
+
+ </ul>
+
+ In the path mcs/class/System.Data/Test
+ there is a PostgreSQL test program named
+ PostgreTest.cs. Thanks goes to Gonzalo for creating the original
+ PostgreSQL test.
+ To use it to test System.Data, you
+ modify the file to your PostgreSQL database
+ connection requirements:
+
+ dbname is the database, ie, test
+ host is the hostname of the PostgreSQL DBMS Server to connect to
+ user is the username, ie, someuser
+ password is the password, ie, mypass1234
+
+ The connection string is in OLE-DB connection string format. Internally,
+ SqlConnection converts this to the PostgreSQL connection string format.
+
+ OLE-DB: "host=localhost;dbname=test;user=joe;password=smoe"
+ PostgreSQL: "host=localhost dbname=test user=joe password=smoe"
+
+ Note that OLE-DB includes the semicolons while PostgreSQL's connection
+ string does not.
+
+ To compile the PostgresTest.cs program, do:
+ mcs PostgresTest.cs -r System.Data
+
+ To run using mint, do:
+ mint PostgresTest.exe
+
+ To run using mono, do:
+ mono PostgresTest.exe
+
+ You should get something like:
+
+Administrator@DANPC ~/mono/mcs/class/System.Data/Test
+$ mcs PostgresTest.cs -r System.Data
+
+Administrator@DANPC ~/mono/mcs/class/System.Data/Test
+$ mint PostgresTest.exe
+ Postgres provider specific tests...
+
+ Drop table:
+Error (don't worry about this one)
+ Create table with all supported types:
+OK
+ Insert values for all known types:
+OK
+ Select values from the database:
+ Get Schema.
+dt.Columns.Count: 6
+* Column Name: int2_value
+ MaxLength: 2
+ Type: System.Int16
+* Column Name: int4_value
+ MaxLength: 4
+ Type: System.Int32
+* Column Name: bigint_value
+ MaxLength: 8
+ Type: System.Int64
+* Column Name: char_value
+ MaxLength: -1
+ Type: System.String
+* Column Name: varchar_value
+ MaxLength: -1
+ Type: System.String
+* Column Name: text_value
+ MaxLength: -1
+ Type: System.String
+Row 0:
+ Col 0: int2_value - -22
+ Col 1: int4_value - 1048000
+ Col 2: bigint_value - 123456789012345
+ Col 3: char_value - This is a char
+ Col 4: varchar_value - This is a varchar
+ Col 5: text_value - This is a text
+Rows: 1
+Clean up...
+ Drop table...
+OK
+