أكثر

لا يمكن استيراد جداول معينة من SQL Server إلى QGIS


هذه قائمة تضم 193 رمزًا بريديًا وأشكالها الهندسية التي لا يتم استيرادها في QGIS.

هذه قائمة تضم 999 مجموعة كتل تعداد وشكلها الهندسي الذي يتم استيراده في QGIS.

هذه هي إضافة طبقة MSSQL tbl في QGIS. يعرض ما يعرضه الجدول عندما أحاول استيرادهما معًا.

ما الذي قد يتسبب في قدرة أحد الجداول على الاستيراد دون الآخر؟

أواجه هذه المشكلة حيث لا يمكنني استيراد ملفات الأشكال من SQL إلى QGIS. أنا أستخدم الرموز البريدية في فلوريدا كأشكالي. لقد كتبت استعلامًا بلغة SQL لإعطائي بعض الرموز البريدية وهندستها لبعض المقاطعات في فلوريدا. تم وضع هذا في جدول جديد في SQL يتألف من ما يقرب من 200 رمز بريدي. عندما أحاول استيراد هذا إلى QGIS ، لن يتم استيراده. لا يسمح لي جدول استيراد MSSQL بتحديد هذا الجدول. ومع ذلك ، إذا قمت بتغيير الاستعلام ليشمل 20 رمزًا بريديًا فقط ، فسيسمح لي بتحديد الجدول واستيراده. فهل لدى QGIS حد لمقدار الأشكال التي يمكنه استيرادها؟ لدي جداول أخرى في SQL تحتوي على أكثر من 1000 شكل ويتم استيرادها ، ولكن ليس هذا واحدًا من 200 رمز بريدي.


لقد لاحظت أيضًا أن QGIS حتى الإصدار الحالي (2.12.2) يبدو أنه يواجه مشكلة في تحميل هندسة MSSQL من النوع "GeometryCollection" ، عندما تتوقع مضلعات أو Multipolygons. للتحقق مما إذا كان لديك هذه ، استخدم:

حدد GEOM.STGeometryType () من [yourtable]

أستخدم هذا البرنامج المجاني Spatial Data Manager.
لقد وجدت أنه البرنامج المجاني الوحيد الذي يمكنه تحميل البيانات المكانية مباشرة بين أنظمة RDBMS الرئيسية.
يمكنك تصفية البيانات الخاصة بك أثناء عملية التصدير.


& ldquo لا تفعل أبدًا في التعليمات البرمجية ما يمكنك الحصول عليه من خادم SQL للقيام بعمل جيد بالنسبة لك & rdquo - هل هذه وصفة لتصميم سيء؟

إنها فكرة سمعتها تتكرر في عدد قليل من الأماكن. يدرك البعض بشكل أو بآخر أنه بمجرد أن تتجاوز محاولة حل مشكلة ما في SQL بحتة مستوى معينًا من التعقيد ، يجب أن تتعامل معها بالفعل في التعليمات البرمجية.

المنطق الكامن وراء الفكرة هو أنه بالنسبة للغالبية العظمى من الحالات ، سيقوم محرك قاعدة البيانات بعمل أفضل في إيجاد الطريقة الأكثر فاعلية لإكمال مهمتك مما يمكنك القيام به في التعليمات البرمجية. خاصة عندما يتعلق الأمر بأشياء مثل جعل النتائج مشروطة بالعمليات التي يتم إجراؤها على البيانات. يمكن القول أنه مع المحركات الحديثة بشكل فعال JIT'ing + التخزين المؤقت للنسخة المترجمة من استعلامك ، سيكون ذلك منطقيًا على السطح.

السؤال هو ما إذا كانت الاستفادة من محرك قاعدة البيانات بهذه الطريقة هي ممارسة تصميم سيئة بطبيعتها (ولماذا). تصبح الخطوط أكثر ضبابية عندما يكون كل المنطق موجودًا داخل قاعدة البيانات وأنت تضغط عليه عبر ORM.


2 إجابات 2

يمكنك فعل ذلك تمامًا باستخدام الجداول ، بالإضافة إلى Powerpivot و Data Explorer. الطريقة الأسهل والأسلوب المفضل لدي حاليًا هي إنشاء استعلام ذي معلمات في Excel. للقيام بذلك ، استخدم معالج الاستعلام وفي النهاية أضف قيودًا لكل معلمة تريد تمريرها. بمجرد الانتهاء من ذلك ، يمكنك تحرير خصائص الاتصال وتعيين المعلمة ليتم إرجاعها كقيمة ثابتة أو مربع حوار أو خلية جدول بيانات.

  1. حدد مصدر البيانات باستخدام MS Query - وهذا مطلوب لتتمكن من تمرير المعلمات مرة أخرى إلى بيانات SQL & gtOther Sources & gtMicrosoft Query.
  2. اختر مصدر البيانات ، حدد مصدر بيانات SQL الخاص بك هنا. سأترك كل هذه الخيارات فارغة بشكل عام حتى أصل إلى نافذة إنهاء ، ثم سأختار عرض البيانات أو تحرير الاستعلام في MS Query.
    • ملاحظة: عادةً ما أعالج مسبقًا المعلومات التي أريدها من SQL في عرض واحد يمكنني الاتصال به هنا ، ولكن يمكنك عمومًا تمرير أي عبارة تحديد. لم أحاول استدعاء إجراء مخزن ، لذلك لست متأكدًا من كيفية عمل ذلك.
  3. في نافذة MS Query ، انقر فوق الزر إظهار / إخفاء المعايير واختر حقل المعايير. سيكون هذا ما يستدعي المعلمات الخاصة بك لتمريرها مرة أخرى إلى SQL.
    • مثال: إذا كان لديك حقل تاريخ وقمت بتحديده في حقل المعايير ، فقم بإضافة قيمة بين [البداية] و [النهاية]. سيؤدي هذا إلى إنشاء معلمة وسيطلب منك MS Query ملء كلتا القيمتين وإرجاع مجموعة البيانات المناسبة على الفور. إذا قمت بالتحقق من جملة SQL التي أنشأتها ، فستضيف عبارة WHERE (datasource.date Between؟ and؟).
  4. حدد ملف> إرجاع البيانات إلى Excel ، ثم اختر الجدول.
  5. لجعل الجدول يسحب معلمة الاستعلام تلقائيًا ، حدد خلية في الجدول ، وانتقل إلى البيانات> الخصائص> خصائص الاتصال> التعريف> المعلمات.
  6. لكل معلمة ، يمكنك أن تختار لها
    1. مطالبتك بتقديم قيمة أو
    2. استخدم قيمة محددة أو
    3. احصل على قيمة من خلية جدول بيانات ، مع خيار تحديث بيانات الجدول تلقائيًا كلما تغيرت قيمة هذه الخلية.
      • كخيار إضافي ، يمكنك استخدام التحقق من صحة البيانات في الخلية التي تختارها للمعلمة الخاصة بك ، مما يسمح لك بتحديد القيم الممكنة للاختيار من بينها. يمكنك حتى الحصول على خلايا التحقق من الصحة من جدول يتم تغذيته من قيم من قاعدة البيانات الخاصة بك ، مما يضمن تحديد القيم الموجودة في قاعدة البيانات فقط.

    غالبًا ما أقوم بإنشاء Pivot Table استنادًا إلى جدول يتم تغذيته من استعلام معلمات لإرجاع قيم لنطاقات زمنية محددة ومحدثة تلقائيًا (على سبيل المثال ، 6 أشهر سابقة).

    تعديل: لإرجاع قيم متعددة للاستخدام في جملة SQL IN ، تحتاج فقط إلى تعديل نافذة المعايير في مربع استعلام MS. على سبيل المثال ، إذا كان لديك اسم حقل البلد ، فحدده في حقل المعايير ، ثم بالنسبة للقيمة ، أدخل IN ([الأول] ، [الثاني] ، [الثالث]). اختر Return Data to Excel وسيطلب MS Query إدخال القيم يدويًا. بمجرد عودتك إلى Excel ، يمكنك تعديل المعلمات مرة أخرى ، وتوجيهها إلى ثلاث خلايا في جدول البيانات ، يمكن تقييد كل منها عن طريق التحقق من صحة البيانات. على الرغم من أنه من المحتمل أن يكون هناك حد لعدد المعلمات التي يمكنك تمريرها مثل هذا ، فإن Excel يتعامل بسهولة مع ثلاثة معلمات ، لذلك من غير المحتمل أن يكون هناك عدد قليل غير وارد.


    يجب أن تفعل ذلك ، تذكر أن تضيف -u $ USER و -p $ PASSWORD كما هو مطلوب

    أود إلقاء نظرة على مجموعة أدوات بيركونا. وصف أداة pt-show-scholars يقول كل شيء.

    pt-show-المنح المقتطفات والأوامر ثم طباعة المنح لحسابات مستخدمي MySQL.

    لماذا قد تريد هذا؟ هناك عدة أسباب.

    الأول هو نسخ المستخدمين بسهولة من خادم إلى آخر ، يمكنك ببساطة استخراج المنح من الخادم الأول وتوجيه الإخراج مباشرةً إلى خادم آخر.

    الاستخدام الثاني هو وضع منحك في التحكم في الإصدار.


    نقل قاعدة البيانات من SQL Server 2012 إلى 2008

    لدي قاعدة بيانات على مثيل SQL Sever 2012 وأود نسخها إلى خادم 2008. لا يمكن لخادم 2008 استعادة النسخ الاحتياطية التي تم إنشاؤها بواسطة خادم 2012 (لقد حاولت).

    لا يمكنني العثور على أي خيارات في عام 2012 لإنشاء نسخة احتياطية متوافقة مع 2008. هل فاتني شيء؟

    هل هناك طريقة سهلة لتصدير المخطط والبيانات إلى تنسيق لا يحتوي على إصدار يمكنني استيراده بعد ذلك إلى عام 2008؟

    لا تستخدم قاعدة البيانات أي ميزات خاصة بعام 2012. يحتوي على جداول وبيانات وإجراءات مخزنة.

    هذا ما حاولت حتى الآن

    حاولت مهام & rarr توليد البرامج النصية على خادم 2012 ، وكنت قادرًا على إنشاء المخطط (بما في ذلك الإجراءات المخزنة) باعتباره برنامج نصي SQL. لكن هذا لم يتضمن أيًا من البيانات.

    بعد إنشاء هذا المخطط على جهاز 2008 الخاص بي ، تمكنت من فتح معالج "تصدير البيانات" على جهاز 2012 ، وبعد تكوين 2012 كجهاز مصدر و 2008 كآلة مستهدفة ، تم تقديم قائمة بالجداول التي يمكن نسخها. لقد حددت جميع جداولي (300+) ، وقمت بالنقر فوق المعالج. لسوء الحظ ، فإنها تستغرق وقتًا طويلاً في إنشاء البرامج النصية الخاصة بها ، ثم تفشل مع ظهور أخطاء مثل "فشل الإدراج في عمود القراءة فقط" FOO_ID ".

    لقد جربت أيضًا "معالج نسخ قاعدة البيانات" ، والذي ادعى أنه قادر على نسخ "من 2000 أو ما بعده إلى 2005 أو ما بعده" لها وضعان:

    "فصل وإرفاق" ، والذي فشل بسبب الخطأ:

    أسلوب كائن إدارة SQL الذي فشل بسبب الخطأ

    لا يمكن قراءة الخاصية IsFileStream. هذه الخاصية غير متوفرة في SQL Server 7.0. "


    المكونات الأخرى

    اسم الميزة مشروع اساسي الويب Express مع الخدمات المتقدمة التعبير
    ستريم انسايت StreamInsight Premium Edition StreamInsight الإصدار القياسي StreamInsight الإصدار القياسي لا لا
    StreamInsight HA StreamInsight Premium Edition لا لا لا لا


    شاهد الفيديو: QGIS 3 - No. 65. Working with Microsoft SQL Server (شهر اكتوبر 2021).