MS SQL Server 2008 - الارتباك في المهاجرة من الخلية re:"حدد XYZ من الجدول"

StackOverflow https://stackoverflow.com/questions/611850

سؤال

لذلك أنا مجرد الخلط هنا.

يجب أن ترحيل قاعدة البيانات من الخلية إلى MS SQL Server 2008.لقد نقل البيانات عبر "MS SQL معالج البيانات" التطبيق من SQL Maestros.استغرق البيانات+هيكل من قاعدة بيانات MySQL "حارس مرمى" و نسخها إلى قاعدة بيانات "حارس مرمى" على MS SQL Express سبيل المثال.

ولكن عندما أقوم بتوصيل إلى MS SQL سبيل المثال و محاولة تشغيل استعلام SQL, أنا فقط الحصول على النتائج عند تنفيذ "select * from gk.TABLENAME"أو "select * from gk.gk.TABLENAME"...إذا كنت تنفيذ "select * from TABLENAME"بعد تنفيذ "use gk"أنا الحصول على:

خطأ:اسم الكائن غير صالح 'TABLENAME'
SQLState:S0002
رمز الخطأ:208

كيف يمكنني جعل هذا التصرف "عادة"?I. e., الاتصال إلى قاعدة بيانات محددة مثل هذا لا يجب علي أن أقول صراحة أنه في قاعدة البيانات/مخطط للعثور على الطاولة ؟

تحديث: يجب تحديد الهيكل الذي تم إنشاؤه من قبل بيانات SQL معالج التطبيق.تبحث في "مستعرض الكائنات" شجرة في SQL Server إدارة Studio هناك:

[HOSTNAME]\SQLEXPRESS (SQL Server ...)
  |-- Databases
       |-- System Databases
       |-- gk
            |...
            |-- Tables   
                  |-- TABLE1
                  |-- TABLE2
                  |-- TABLE3

...وهلم جرا.

شكرا-دان

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

حاول هذا إذا لم تكن بالفعل:

USE gk
GO

SELECT * FROM tablename

يبدو أن معالج إنشاء قاعدة بيانات تسمى "حارس مرمى", ثم وضع جميع الجداول في مخطط بعنوان "حارس مرمى".

إذا كانت الجداول موجودة في مسمى المخطط (أي شيء إلى جانب المخطط الافتراضي "dbo") ، ثم سيكون لديك دائما إلى تحديد المخطط عند الاستعلام عن ذلك.

ملاحظة:في بعض الحالات هناك كبيرة في الأداء عقوبة لم تحدد صراحة المخطط/المالك.أكثر أهمية في الإصدارات القديمة من SQL, ولكن لا يزال هناك.قد لا تكون كبيرة بما يكفي الفرق إلى النظر في التطبيق الخاص بك ولكن لا يزال يستحق أن يعرف:

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top