Language Notice: View in English (الانجليزية) |
هذا التطبيق الكونسولي بلغة C# يستخرج معلومات مفصلة عن أنواع بيانات الأعمدة في جدول SQL Server باستخدام ADO.NET. يوفر واجهة سطر أوامر بسيطة للاتصال بنسخة SQL Server وفحص هيكل الجداول.
- 🔍 استخراج دقيق لأنواع بيانات أعمدة SQL Server
- 🛠 معالجة أنواع البيانات الخاصة بمعاملات:
- 📏 أنواع النصوص مع الطول (CHAR, VARCHAR, NCHAR, NVARCHAR)
- 🔢 أنواع الأرقام العشرية مع الدقة والمقياس (DECIMAL, NUMERIC)
- ⏱ أنواع الوقت مع الدقة (DATETIME2, TIME, DATETIMEOFFSET)
- 🔐 دعم كل من مصادقة Windows ومصادقة SQL Server
- 🔄 معالجة أسماء الأعمدة دون تمييز بين الحروف الكبيرة والصغيرة
- 🛡️ اتصال آمن مع التخلص الصحيح من الموارد
- 🚨 معالجة شاملة للأخطاء
- .NET 6.0 SDK أو أحدث
- نسخة SQL Server (2008 أو أحدث)
- 🔑 أذونات مناسبة للوصول إلى قواعد البيانات المستهدفة
-
استنسخ المستودع:
git clone https://github.com/MohmdAliMohmd/SQL-Server-Column-Data-Type-Retriever cd sql-column-type-retriever -
بناء التطبيق:
dotnet build
-
تشغيل التطبيق:
dotnet run
-
اتبع التعليمات التفاعلية:
مستخرج أنواع بيانات أعمدة SQL Server ====================================== أدخل اسم خادم SQL: localhost\SQLEXPRESS أدخل اسم قاعدة البيانات: AdventureWorks أدخل طريقة المصادقة (1 لـ Windows، 2 لـ SQL Server): 1 أدخل اسم الجدول: Person.Address
أنواع بيانات الأعمدة:
------------------
AddressID: INT
AddressLine1: NVARCHAR(60)
AddressLine2: NVARCHAR(60)
City: NVARCHAR(30)
StateProvinceID: INT
PostalCode: NVARCHAR(15)
SpatialLocation: GEOMETRY
rowguid: UNIQUEIDENTIFIER
ModifiedDate: DATETIME
-
الطريقة الرئيسية:
- تتعامل مع إدخال المستخدم لتفاصيل الاتصال
- تبني سلاسل اتصال آمنة
- تستدعي طريقة استخراج الأنواع
- تعرض النتائج
-
طريقة الاستخراج الأساسية:
static Dictionary<string, string> GetColumnDataTypes( string connectionString, string tableName) { var columnInfo = new Dictionary<string, string>( StringComparer.OrdinalIgnoreCase); using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); DataTable schemaTable = connection.GetSchema("Columns", new[] { null, null, tableName, null }); foreach (DataRow row in schemaTable.Rows) { // معالجة وصف العمود // منطق معالجة الأنواع الخاصة } } return columnInfo; }
| فئة نوع البيانات | أمثلة | التنسيق |
|---|---|---|
| أنواع النصوص | CHAR, VARCHAR, NCHAR | TYPE(Length) |
| أنواع MAX | VARCHAR(MAX) | TYPE(MAX) |
| أنواع رقمية | DECIMAL, NUMERIC | TYPE(Precision,Scale) |
| أنواع زمنية | DATETIME2, TIME | TYPE(Precision) |
| أنواع أخرى | INT, UNIQUEIDENTIFIER | TYPE |
- 🔑 كلمات المرور لا يتم تخزينها أو عرضها
- 💾 سلاسل الاتصال توجد فقط في الذاكرة
- 🛡️ استخدام استخراج الهيكل بدلاً من SQL الديناميكي
- ♻️ التخلص الصحيح من الموارد باستخدام عبارات
using - 🚫 لا توجد تبعيات خارجية باستثناء .NET BCL
المساهمات مرحب بها! يرجى اتباع هذه الخطوات:
- انسخ المستودع
- أنشئ فرعًا جديدًا للميزة (
git checkout -b feature/اسم-التحسين) - احفظ التغييرات (
git commit -am 'إضافة ميزة ما') - ادفع إلى الفرع (
git push origin feature/اسم-التحسين) - أنشئ طلب سحب جديد
هذا المشروع مرخص تحت رخصة MIT - راجع ملف LICENSE للتفاصيل.
ملاحظة: هذا التطبيق يستخرج فقط وصف هيكل البيانات ولا يصل أو يعدل بيانات الجدول. تأكد دائمًا من حصولك على الأذونات المناسبة قبل الوصول إلى هياكل قواعد البيانات.