.TH sqlsharp 1 "9 September 2008" .SH "نام (NAME)" sqlsharp \- ابزار خط فرمانی پرس‌وجوی SQL در مونو .SH "خلاصه دستور (SYNOPSIS)" .B sqlsharp [\-f filename] [\-o filename] [\-s] .SH "توضیحات (DESCRIPTION)" دستور sqlsharp یک ابزار SQL در مونو است که برای وارد کردن و اجرای پرس‌وجوهای SQL در یک پایگاه داده با استفاده از فراهم‌کننده‌های دادهٔ مونو به کار می‌رود. .PP .SH "گزینه‌ها (OPTIONS)" گزینه‌های زیر پشتیبانی می‌شوند: .TP .I "-f filename" فایلی برای بارگذاری دستورات SQL از آن. .TP .I "-o filename" فایل خروجی برای ارسال نتایج به آن. .TP .I "-s" حالت بی‌صدا. .PP .SH "نحوه استفاده (HOW TO USE)" ابزار SQL دستورات را از طریق رابط خط فرمان خود می‌پذیرد. دستورات با یک بک‌اسلش (\\) آغاز می‌شوند که نام دستور در ادامهٔ آن می‌آید. .PP مثال: .nf \\open .fi .PP در اصل، پنج دستور وجود دارد که کاربر باید بداند: \\provider، \\connectionstring، \\open، \\quit و \\help .PP برای اتصال به یک پایگاه داده، باید مراحل زیر را انجام دهید: .PP ۱. فراهم‌کننده دادهٔ خود را با \\provider مشخص کنید .PP .nf Example: SQL# \\provider mysql .fi .PP ۲. رشته اتصال خود را با \\connectionstring مشخص کنید .PP .nf Example: SQL# \\connectionstring Database=test .fi .PP ۳. اتصال به پایگاه داده را با \\open باز کنید .PP .nf Example: SQL# \\open .fi .PP .SH "دستورات اتصال و فراهم‌کننده (CONNECTION AND PROVIDER COMMANDS)" این دستورات برای برپایی فراهم‌کننده، رشته اتصال و باز یا بسته کردن اتصال پایگاه داده به کار می‌روند .TP .I "ConnectionString" رشته اتصال را تعیین می‌کند .nf Example: SQL# \\ConnectionString Database=testdb or SQL# \\cs Database=testdb برای مثال‌های بیشتر، بخش CONNECTION STRING EXAMPLES را ببینید. .fi .TP .I "Provider" فراهم‌کنندهٔ منبع داده را تنظیم می‌کند. برای دیدن فهرست فراهم‌کننده‌ها، بخش PROVIDERS را ببینید. .nf Example: to set the provider for MySQL: SQL# \\provider mysql or SQL# \\p mysql Note: if you need to load an external provider in SQL#, see the SQL# command \\loadextprovider .fi .TP .I "ListProviders" فهرست کردن فراهم‌کننده‌های ADO.NET 2.0 موجود .nf Example: SQL# \\ListProviders or SQL# \\listp .fi .TP .I "BCS" برای ساخت تک‌تک پارامترهای اتصال از شما ورودی می‌گیرد و رشته اتصال را می‌سازد و همچنین به شما اجازه می‌دهد گذرواژه‌ای را وارد کنید که در صفحه بازتاب (echo) داده نمی‌شود. .nf Example: SQL# \\bcs ConnectionString Option: Data Source [] SQL# blazer ConnectionString Option: Persist Security Info [False] SQL# ConnectionString Option: Integrated Security [False] SQL# ConnectionString Option: User ID [] SQL# scott Password: ***** ConnectionString Option: Enlist [False] SQL# ConnectionString Option: Pooling [True] SQL# ConnectionString Option: Min Pool Size [0] SQL# ConnectionString Option: Max Pool Size [100] SQL# ConnectionString Option: Unicode [False] SQL# ConnectionString Option: Load Balance Timeout [0] SQL# ConnectionString Option: Omit Oracle Connection Name [False] SQL# ConnectionString is set. .fi .TP .I "LoadExtProvider" کلاس و اسمبلی (ASSEMBLY CLASS) برای بارگذاری یک فراهم‌کننده خارجی. از نام کامل اسمبلی و کلاس Connection مربوط به آن استفاده کنید. .nf Example: to load the MySQL provider Mono.Data.MySql SQL# \\loadextprovider Mono.Data.MySql Mono.Data.MySql.MySqlConnection .fi .TP .I "Open" یک اتصال به پایگاه داده باز می‌کند .nf Example: SQL# \\open .fi .TP .I "Close" اتصال به پایگاه داده را می‌بندد .nf Example: SQL# \\close .fi .TP .I "Default" نمایش متغیرهای پیش‌فرض، مانند Provider و ConnectionString. .nf Example: SQL# \\defaults .fi .TP .I "Q" خروج .nf Example: SQL# \\q .fi.SH "دستورات اجرای SQL (SQL EXECUTION COMMANDS)" دستوراتی برای اجرای عبارت‌های SQL .PP .TR .I "e" اجرای پرس‌وجوی SQL (دستور SELECT) .nf مثال: برای اجرای یک پرس‌وجو SQL# SELECT * FROM EMPLOYEE SQL# \\e نکته: برای اینکه \\e پس از وارد کردن یک پرس‌وجو به‌طور خودکار کار کند، یک نقطه‌ویرگول ; در انتهای پرس‌وجو قرار دهید. مثال: برای وارد کردن و اجرای پرس‌وجو به‌طور هم‌زمان SQL# SELECT * FROM EMPLOYEE; .fi .TP .I "exenonquery" اجرای یک دستور غیر پرس‌وجویی در SQL (هر چیزی غیر از SELECT) .nf مثال: برای درج یک سطر در جدول: SQL# INSERT INTO SOMETABLE (COL1, COL2) VALUES('ABC','DEF') SQL# \\exenonquery نکته: این دستور می‌تواند برای ارائه‌دهندگانی استفاده شود که جدید هستند و هنوز قابلیت اجرای پرس‌وجو را ندارند. .fi .TP .I "exescalar" اجرای SQL برای دریافت یک سطر و یک ستون واحد (مقدار اسکالر). .nf مثال: برای اجرای یک تابع تجمیعی Maximum SQL# SELECT MAX(grade) FROM class SQL# \\exescalar .fi .TP .I "exexml" FILENAME برای اجرای SQL و ذخیره خروجی در یک فایل XML .nf مثال: SQL# SELECT fname, lname, hire_date FROM employee SQL# \\exexml employee.xml نکته: این دستور به کارکرد صحیح DataAdapter ،DataTable و DataSet وابسته است .fi .TP .SH "دستورات فایل (FILE COMMANDS)" دستوراتی برای وارد کردن فرمان‌ها از فایل به SQL# و برعکس .TP .I "f" FILENAME برای خواندن دسته‌ای از دستورات SQL# از فایل .nf مثال: SQL# \\f batch.sql# نکته: دستورات SQL# به‌محض خوانده شدن تفسیر می‌شوند. اگر هرگونه عبارت SQL وجود داشته باشد، اجرا خواهد شد. .fi .TP .I "o" FILENAME برای نوشتن نتیجه دستورات اجرا شده در فایل. .nf مثال: SQL# \\o result.txt .fi .TP .I "load" FILENAME برای بارگذاری دستورات SQL از فایل در بافر SQL. .nf مثال: SQL# \\load commands.sql .fi .TP .I "save" FILENAME برای ذخیره دستورات SQL از بافر SQL در فایل. .nf مثال: SQL# \\save commands.sql .fi.SH "دستورهای عمومی (GENERAL PURPOSE COMMANDS)" دستورهای عمومی برای استفاده. .TP .I "h" نمایش راهنما (همه دستورها). .nf مثال: SQL# \\h .fi .TP .I "s" TRUE،‏ FALSE برای بی‌صدا کردن پیام‌ها. .nf مثال ۱: SQL# \\s true مثال ۲: SQL# \\s false .fi .TP .I "r" بازنشانی یا پاک کردن بافر پرس‌وجو. .nf مثال: SQL# \\r .fi .TP .I "print" نمایش محتوای فعلی بافر SQL. .nf مثال: SQL# \\print .fi .SH "متغیرهای قابل استفاده به‌عنوان پارامتر (VARIABLES WHICH CAN BE USED AS PARAMETERS)" دستورهایی برای مقداردهی متغیرهایی که می‌توانند به عنوان پارامتر در یک دستور SQL استفاده شوند. اگر SQL شامل هرگونه پارامتری باشد و برای آن پارامتر متغیری تنظیم نشده باشد، مقدار هر پارامتر ناموجود از کاربر پرسیده خواهد شد. .TP .I "set" NAME VALUE برای مقداردهی یک متغیر داخلی. .nf مثال: SQL# \\set sFirstName John .fi .TP .I "unset" NAME برای حذف یک متغیر داخلی. .nf مثال: SQL# \\unset sFirstName .fi .TP .I "variable" NAME برای نمایش مقدار یک متغیر داخلی. .nf مثال: SQL# \\variable sFirstName .fi .SH "گزینه‌های پشتیبانی ارائه‌دهنده (PROVIDER SUPPORT OPTIONS)" فعال یا غیرفعال کردن پشتیبانی از یک گزینهٔ ارائه‌دهندهٔ خاص. .TP .I "UseParameters" TRUE،‏FALSE برای استفاده از پارامترها هنگام اجرای SQL که از متغیرهای تنظیم‌شده استفاده می‌کنند. .PP اگر این گزینه true باشد، SQL حاوی پارامترها بوده و به ازای هر پارامتری که متغیر SQL# برای آن تنظیم نشده باشد، از کاربر خواسته می‌شود مقدار آن پارامتر را وارد کند. .nf مثال: SQL# \\useparameter true .fi .PP پیش‌فرض: false .TP .I "UseSimpleReader" TRUE،‏FALSE برای استفاده از خواننده ساده (simple reader) هنگام نمایش نتایج. .nf مثال: SQL# \\usesimplereader true .fi .PP پیش‌فرض: false. این مورد بیشتر به ارائه‌دهنده بستگی دارد. اگر ارائه‌دهنده بخش کافی از IDataReader را پیاده‌سازی نکرده باشد تا خواننده عادی کار کند، می‌توان از خواننده ساده (simple reader) استفاده کرد. ارائه‌دهندگانی مانند SqlClient،‏ MySQL و PostgreSQL این گزینه را به‌طور پیش‌فرض روی true دارند. .PP.SH "ارائه‌دهندگان (PROVIDERS)" .nf PROVIDER NAME NAMESPACE ASSEMBLY oracle Oracle 8i-11g System.Data.OracleClient System.Data.OracleClient postgresql NetPostgreSQL Npgsql Npgsql bytefx ByteFX MySQL ByteFX.Data.MySqlClient ByteFX.Data sqlclient MS SQL 7-2008 System.Data.SqlClient System.Data odbc ODBC System.Data.Odbc System.Data sqlite SQL Lite Mono.Data.SqliteClient Mono.Data.SqliteClient sybase Sybase Mono.Data.SybaseClient Mono.Data.SybaseClient firebird Firebird SQL FirebirdSql.Data.FirebirdSql FirebirdSql.Data.Firebird mysql MySQL AB MySql.Data.MySqlClient MySql.Data نکات: Npgsql ارائه‌دهنده داده .NET برای PostgreSQL است. آخرین نسخه را می‌توانید از نشانی زیر دریافت کنید: http://npgsql.projects.postgresql.org بسته MySql.Data همان MySQL Connector/Net برای اتصال به پایگاه‌های داده MySQL است. برای MySQL، اکیداً توصیه می‌شود به جای ارائه‌دهنده قدیمی ByteFX.Data از MySql.Data استفاده کنید. متأسفانه MySql.Data همراه Mono ارائه نمی‌شود. می‌توانید آخرین نسخه MySQL Connector/Net را از MySQL AB در نشانی زیر دریافت کنید: http://dev.mysql.com/downloads بسته FirebirdSql.Data.Firebird را می‌توان از اینجا دریافت کرد: http://www.firebirdsql.org/index.php?op=files&id=netprovider .fi .SH "نمونه‌های رشته اتصال (CONNECTION STRING SAMPLES)" نمونه رشته‌های اتصال برای ارائه‌دهندگان گوناگون جهت استفاده از طریق دستور \ConnectionString .nf نمونه استفاده: \connectionstring Database=testdb نمونه‌های رشته اتصال: Microsoft SQL Server از طریق System.Data.SqlClient Server=DANPC;Database=pubs;User ID=saPassword=; برای Integrated Security (امنیت یکپارچه)، به یاد داشته باشید که Mono با Windows، کلاینت یا سرور SQL Server و همچنین Windows Server یکپارچه نیست. بنابراین، باید نام دامنه Windows و نام کاربری دامنه و گذرواژه را برای این کاربر ارائه دهید. Server=DANPC;Database=pubs;User ID=DOMAIN\user;Password=pass;Integrated Security=SSPI برای یک سرور محلی، می‌توانید از localhost استفاده کنید. ارائه‌دهنده ODBC از طریق System.Data.Odbc با استفاده از یک DSN با نام "MSSQLDSN" تنظیم‌شده در ODBC Data Sources در کنترل‌پنل Windows که به Microsoft SQL Server 2000 متصل می‌شود: DSN=MSSQLDSN;UID=danmorg;PWD=freetds برای استفاده از ODBC در Unix، بسته unixODBC از http://www.unixodbc.org یا iODBC از http://www.iodbc.org را در نظر بگیرید ارائه‌دهنده SQL Lite از طریق Mono.Data.SqliteClient که به فایل پایگاه داده SqliteTest.db متصل می‌شود؛ اگر پیدا نشود، فایل ایجاد خواهد شد: URI=file:SqliteTest.db Oracle از طریق System.Data.OracleClient Data Source=testdb;User ID=scott;Password=tiger اگر ترجیح می‌دهید از فایل tnsnames.ora استفاده نکنید، می‌توانید از یک رشته اتصال استفاده کنید که توصیف شبکه TNS محصور در پرانتز را مجاز می‌داند؛ مانند نمونه زیر که شامل host، port و service name است. برای host، می‌توانید به جای یک نام میزبان یک آدرس IP مشخص کنید. User ID=SCOTT; Password=TIGER; Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.101)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=TESTDB))) Npgsql (.NET PostgreSQL) از http://gborg.postgresql.org/project/npgsql/projdisplay.php Server=localhost;Database=test;User ID=postgres;Password=fun2db ByteFX (ByteFX MySQL) از لطفاً به جای آن از MySql.Data استفاده کنید. Server=localhost;Database=test;User ID=mysql;Password= FirebirdSql از طریق FirebirdSql.Data.Firebird (دریافت آخرین نسخه از FirebirdSql.org) Database=C:\FIREBIRD\EXAMPLES\EMPLOYEE.FDB;User=SYSDBA;Password=masterkey;Dialect=3;Server=localhost MySQL از طریق (MySql.Data) MySQL Connector/Net از http://www.mysql.com Server=localhost;Database=test;User ID=mysql;Password=mypass;Pooling=false .fi.SH "پشتیبانی از ردگیری (TRACING SUPPORT)" در حال حاضر پشتیبانی‌ای برای ردگیری وجود ندارد. .SH "نویسندگان (AUTHORS)" ابزار Mono SQL Query Tool نوشته شده است .nf توسط Daniel Morgan .fi .PP .SH "مجوز (LICENSE)" ابزار Mono SQL Query Tool تحت شرایط GNU GPL منتشر شده است. لطفاً برای جزئیات، فایل همراه `COPYING' را مطالعه کنید. مجوزهای جایگزین از طریق Novell یا Daniel Morgan در دسترس هستند. .SH "گزارش باگ‌ها (BUGS)" برای گزارش باگ‌های کامپایلر، می‌توانید گزارش‌های باگ را در سامانه پیگیری باگ ما ثبت کنید: .nf https://github.com/mono/mono/issues .fi .PP .SH "فهرست‌های پستی (MAILING LISTS)" برای جزئیات بیشتر، مراجعه کنید به: .nf http://lists.ximian.com/mailman/listinfo/mono-devel-list .fi .SH "وب‌سایت (WEB SITE)" برای جزئیات بیشتر، مراجعه کنید به: .nf http://www.mono-project.com .fi .PP .SH "همچنین ببینید (SEE ALSO)" mono(1)