سؤال

أحاول الاتصال بقاعدة بيانات على أزور باستخدام عقدة-مسكل.نظام التطوير الخاص بي هو ويندوز 7 ولم يكن لدي أي نجاح على الإطلاق الحصول على عقدة-سكلسرفر لتثبيت عبر ويبماتريكس.

سؤالي هو الجزء الثاني:أولا هل هناك أي سبب أنه حتى عندما اتبع التعليمات من ميكروسوفت أن أحصل على أخطاء مع عقدة-سكلسيرفر?محاولة نهج ساذج باستخدام نبم داخل ويبماتريكس أحصل على الخطأ التالي:

An error occurred.

"C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "node-sqlserver" "--json"


Exit status 1

Failed at the node-sqlserver@0.1.0 install script.
This is most likely a problem with the node-sqlserver package,
not with npm itself.
Tell the author that this fails on your system:
    node-gyp rebuild
You can get their info via:
    npm owner ls node-sqlserver
There is likely additional logging output above.



Failed: npm reported an error.

NodeNpm.NpmException: Failed: npm reported an error.
   at NodeNpm.NpmApi.Install(INpmPackage package)
   at Microsoft.WebMatrix.NpmGallery.CachingPackageManger.InstallPackage(INpmPackage package)
   at Microsoft.WebMatrix.NpmGallery.PackageViewModel.Install()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

الجهاز لديه فس 2012 المهنية المثبتة.

الجزء الثاني من سؤالي هو, هل هناك أي سبب لماذا استخدام عقدة-مسكل لن تعمل تحت أزور?أحصل ببساطة على خطأ اتصال فاشل، على الرغم من أنني تحققت من التفاصيل عدة مرات (العناصر النائبة المستبدلة للقيم الفعلية أدناه):

var config = {
  user: '{username}',
  password: '{password}',
  server: 'tcp:{server}.database.windows.net',
  database: '{database}'
}

أحصل على الخطأ التالي:

{اسم":"كونكتيونرور" ، "رسالة": "اتصال تكب: {سيرفر}. قاعدة البيانات. ويندوز. صافي: 1433 > - فشل الخطأ:جيتادريفونونتفوند"}

وأنا أدرك أن عقدة-سكلسرفر هو أفضل وسيلة للقيام بذلك تحت أزور ولكن لقد حاولت لبضعة أيام مع أي نجاح.هل هناك أي شيء واضح أنا في عداد المفقودين?

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

المحلول

1) يمكنك حلها عن طريق تحميل بريكومبيلد node-sqlserver سائق من هذا الريبو.لم أتمكن من تجميع المصادر على جهازي حتى مع تثبيت جميع تبعيات التطوير أيضا.

2) node-mssql وحدة استخدام ثلاثة برامج تشغيل مختلفة للتواصل مع سكل سيرفر.لا يحدد التكوين الخاص بك أي برنامج تشغيل ، لذلك يتم استخدام الإعداد الافتراضي - Tedious.يجب عليك تغيير التكوين الخاص بك لجعله يعمل بشكل صحيح:

var config = {
    user: '{username}',
    password: '{password}',
    server: '{server}.database.windows.net', // simply remove "tcp:"
    database: '{database}'
}

هناك أيضا خيار للاستخدام node-mssql مع node-sqlserver ولكن لجعلها تعمل، لديك لتثبيت تجميعها node-sqlserver سائق يدويا.يجب أن يبدو التكوين كما يلي:

var config = {
    driver: 'msnodesql',
    user: '{username}',
    password: '{password}',
    server: 'tcp:{server}.database.windows.net',
    database: '{database}'
}

نصائح أخرى

كنت أستخدم سكل أزور من العقدة.شبيبة العام الماضي عندما تم تسمية الوحدة node-sqlserver لذلك قد لا تعمل إجابتي.

المرجع مشكلتك الأولى ، عقدة-مسكل يجب أن يتم تجميعها من خلال node-gyp و C++ أثناء تركيب الآلية الوقائية الوطنية.لذلك كنت تحقق أفضل إذا كان لديك ج compiler مترجم تثبيت.عندما كنت أقوم بتثبيته ، أخبرتني أنني بحاجة إلى مقابل 2010 سي++.لست متأكدا مما إذا كنت في حاجة إليها الآن ، أو أي إصدار لاحق.يمكنك تشغيل npm install node-mssql من نافذة الأوامر ويجب أن تحصل على ملف سجل إذا فشل ، يجب أن يكون npm-error.log أو شيء مشابه.

المرجع مشكلتك الثانية ، عندما كنت تستخدم هذه الوحدة يمكنني استخدام سلسلة الاتصال.هل يمكنك التحقق مرة أخرى من تحديد اسم المستخدم الخاص بك بالتنسيق user@server.أيضا تحقق مرتين إذا تم فتح جدار الحماية سكل أزور للخدمات السحابية الأخرى.

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