1 .TH sqlsharp 1 "25 December 2005"
3 sqlsharp \- Mono SQL Query command-line tool
6 [\-f filename] [\-o filename] [\-s]
8 sqlsharp is a Mono SQL tool used for entering SQL queries
9 to a database using Mono data providers.
12 The following options are supported:
15 Output file to load SQL commands from.
18 Output file to send results.
24 The SQL tool accepts commands via its command line interface. Commands
25 begin with a backslash followed by the command name.
33 Basically, there are five commands a user should know:
34 \\provider, \\connectionstring, \\open, \\quit, and \\help
36 To connect to a database, you need to do the following:
38 1. set your data provider via \\provider
46 2. set your connection string via \\connectionstring
50 SQL# \\connectionstring Database=test
54 3. open a connection to the database via \\open
62 .SH CONNECTION AND PROVIDER COMMANDS
63 These commands are used to setup the provider,
64 connection string, and open/close the database connnection
67 Sets the Connection String
71 SQL# \\ConnectionString Database=testdb
73 For more examples, see section CONNECTION STRING EXAMPLES.
78 Sets the Provider of the Data Source. For list of Providers, see section PROVIDERS.
81 Example: to set the provider for MySQL:
84 Note: if you need to load an external provider in SQL#,
85 see the SQL# command \\loadextprovider
90 ASSEMBLY CLASS to load an external provider. Use the complete name
91 of its assembly and its Connection class.
94 Example: to load the MySQL provider Mono.Data.MySql
95 SQL# \\loadextprovider Mono.Data.MySql Mono.Data.MySql.MySqlConnection
100 Opens a connection to the database
109 Closes the connection to the database
118 show default variables, such as, Provider and ConnectionString.
134 .SH SQL EXECUTION COMMANDS
135 Commands to execute SQL statements
139 execute SQL query (SELECT)
142 Example: to execute a query
144 SQL# SELECT * FROM EMPLOYEE
147 Note: to get \\e to automatically work after entering a query, put a
148 semicolon ; at the end of the query.
150 Example: to enter and exectue query at the same time
152 SQL# SELECT * FROM EMPLOYEE;
157 execute a SQL non query (not a SELECT)
160 Example: to insert a row into a table:
162 SQL# INSERT INTO SOMETABLE (COL1, COL2) VALUES('ABC','DEF')
165 Note: this can be used for those providers that are new and do not have
166 the ability to execute queries yet.
171 execute SQL to get a single row and single column.
174 Example: to execute a Maxium aggregate
175 SQL# SELECT MAX(grade) FROM class
181 FILENAME to execute SQL and save output to XML file
185 SQL# SELECT fname, lname, hire_date FROM employee
186 SQL# \\exexml employee.xml
188 Note: this depends on DataAdapter, DataTable, and DataSet
189 to be working properly
194 Commands for importing commands from file to SQL# and vice versa
197 FILENAME to read a batch of SQL# commands from file
203 Note: the SQL# commands are interpreted as they are read. If there is
204 any SQL statements, the are executed.
209 FILENAME to write result of commands executed to file.
218 FILENAME to load from file SQL commands into SQL buffer.
222 SQL# \\load commands.sql
227 FILENAME to save SQL commands from SQL buffer to file.
231 SQL# \\save commands.sql
234 .SH GENERAL PURPOSE COMMANDS
235 General commands to use.
238 show help (all commands).
247 TRUE, FALSE to silent messages.
259 reset or clear the query buffer.
268 show what's in the SQL buffer now.
275 SH VARIABLES WHICH CAN BE USED AS PARAMETERS
276 Commands to set variables which can be used as Parameters in an SQL statement. If the
277 SQL contains any parameters, the parameter does not have a variable set, the
278 user will be prompted for the value for each missing parameter.
281 NAME VALUE to set an internal variable.
285 SQL# \\set sFirstName John
290 NAME to remove an internal variable.
294 SQL# \\unset sFirstName
299 NAME to display the value of an internal variable.
303 SQL# \\variable sFirstName
306 .SH PROVIDER SUPPORT OPTIONS
307 Enable or Disble support for a particular provider option
310 TRUE,FALSE to use parameters when executing SQL which
311 use the variables that were set.
313 If this option is true, the SQL
314 contains parameters, and for each parameter
315 which does not have a SQL# variable set, the
316 user will be prompted to enter the value
321 SQL# \\useparameter true
328 TRUE,FALSE to use simple reader when displaying results.
332 SQL# \\usesimplereader true
336 Default: false. Mostly, this is dependent on the provider. If the provider
337 does not have enough of IDataReader implemented to have
338 the normal reader working, then the simple reader can be used.
339 Providers like SqlClient, MySQL, and PostgreSQL have this
340 ption defaulting to true.
345 PROVIDER NAME NAMESPACE ASSEMBLY
347 oracle Oracle 8i System.Data.OracleClient System.Data.OracleClient
348 postgresql NetPostgreSQL Npgsql Npgsql
349 bytefx ByteFX MySQL ByteFX.Data.MySqlClient ByteFX.Data
350 sqlclient MS SQL 7/2000 System.Data.SqlClient System.Data
351 odbc ODBC System.Data.Odbc System.Data
352 sqlite SQL Lite Mono.Data.SqliteClient Mono.Data.SqliteClient
353 sybase Sybase Mono.Data.SybaseClient Mono.Data.SybaseClient
354 olebb OLE DB System.Data.OleDb System.Data
355 tds TDS Generic Mono.Data.TdsClient Mono.Data.TdsClient
356 msodbc MS ODBC Microsoft.Data.Odbc Microsoft.Data.Odbc
357 firebird Firebird SQL FirebirdSql.Data.FirebirdSql FirebirdSql.Data.Firebird
358 mysql MySQL AB MySql.Data.MySqlClient MySql.Data
362 npgsql maps to postgresql above.
363 mysqlnet maps to mysql above.
364 odbc is treated as an external provider for .NET 1.1 and above.
365 msodbc is an external provider for compatibility with .NET 1.0
367 MySql.Data has replaced the mysql provider. If you still need to use ByteFX.Data, then
370 MySql.Data is not included with Mono. You need to
371 download the MySQL Connector/Net from MySQL AB at
372 http://dev.mysql.com/downloads/connector/net/1.0.html
375 .SH CONNECTION STRING SAMPLES
376 Example connection strings for various providers to be used via the
377 command \\ConnectionString
381 \\connectionstring Database=testdb
384 Connection String examples:
387 Microsoft SQL Server via System.Data.SqlClient
388 or Mono.Data.TdsClient provider:
390 Server=DANPC;Database=pubs;User ID=saPassword=
393 ODBC via System.Data.Odbc provider using
394 a DSN named "MSSQLDSN" I set up
395 in the Windows control panel's ODBC Data Sources
396 which connects to Microsoft SQL Server 2000:
398 DSN=MSSQLDSN;UID=danmorg;PWD=freetds
401 SQL Lite via Mono.Data.SqliteClient
402 provider which connects to the
403 database file SqliteTest.db; if not found,
406 URI=file:SqliteTest.db
409 OLE DB via System.Data.OleDb provider
410 which connects to a PostgreSQL database:
412 Provider=PostgreSQL;Addr=127.0.0.1;Database=rodrigo
415 Oracle via System.Data.OracleClient
417 Data Source=testdb;User ID=scott;Password=tiger
420 Npgsql (.NET PostgreSQL) from
421 http://gborg.postgresql.org/project/npgsql/projdisplay.php
423 Server=localhost;Database=test;User ID=postgres;Password=fun2db
426 ByteFX (ByteFX MySQL) from
428 Server=localhost;Database=test;User ID=mysql;Password=
431 FirebirdSql via FirebirdSql.Data.Firebird (not included with Mono)
433 Database=C:\\FIREBIRD\\EXAMPLES\\EMPLOYEE.FDB;User=SYSDBA;Password=masterkey;Dialect=3;Server=localhost
436 MySQL (MySQL AB) from http://www.mysql.com/
438 Server=localhost;Database=test;User ID=mysql;Password=mypass;Pooling=false
443 No support for tracing right now.
445 The Mono SQL Query Tool was written
447 by Daniel Morgan <danielmorgan@verizon.net>
451 The Mono SQL Query Tool is released under the terms of the GNU GPL.
452 Please read the accompanying `COPYING' file for details. Alternative
453 licenses are available from Novell or Daniel Morgan.
455 To report bugs in the compiler, you can use `bug-buddy', or you can
456 file bug reports in our bug tracking system:
458 http://bugzilla.ximian.com.
464 http://lists.ximian.com/mailman/listinfo/mono-devel-list
469 http://www.mono-project.com