ওয়েবকনফিগ সংযোগের স্ট্রিংয়ে উদ্ধার উদ্ধৃতি


89

আমার ওয়েব কনফিগারেশনে আমার একটি সংযোগের স্ট্রিং রয়েছে:

<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass"word" providerName="System.Data.SqlClient" />

আপনি দেখতে পাচ্ছেন যে পাসওয়ার্ডে একটি উদ্ধৃতি চিহ্ন (") রয়েছে (অন্যান্য ডিপেক্টর থেকে দেওয়া I আমি এই ডিবি ব্যবহারকারীদের পাসওয়ার্ডটি পরিবর্তন করতে পারি না)।

এই সংযোগের স্ট্রিংয়ের উদ্ধৃতিটি আমার কীভাবে পালাতে হবে?

বিটিডব্লিউ: আমি ইতিমধ্যে চেষ্টা করেছি & quot; স্ট্রিং মধ্যে। এটি কাজ করে না - অ্যাডো নেট.নেট তখন একটি আরগুমেইন এক্সসেপশন পেয়েছিল: "সূচনা স্ট্রিংয়ের ফর্ম্যাটটি সূচক 57-এ শুরু হওয়া স্পেসিফিকেশনের সাথে মানায় না" " 57 যেখানে & quot; আমার সংযোগ স্ট্রিং হয়। আমি পাসওয়ার্ডের অংশটি 'এ'র সাথে বন্ধ করার চেষ্টা করেছি - এটিও কাজ করে না।

"" এবং \ "- এর চেষ্টাও করা হয়েছিল - তখন ওয়েবকনফিগটি পার্স করা যায় না।

সমাধানের জন্য ধন্যবাদ:

আমাকে ডাবল উদ্ধৃতি থেকে বেরিয়ে আসা এবং পাসওয়ার্ডটি একক উদ্ধৃতিতে সংযুক্ত করতে হয়েছিল:

<add name="MyConString" connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass&quot;word'" providerName="System.Data.SqlClient" />

উত্তর:


110

এটি এড়ানোর &quot;পরিবর্তে ব্যবহার করুন "

ওয়েবকনফিগ একটি এক্সএমএল ফাইল তাই আপনার এক্সএমএল এস্কেটিং ব্যবহার করা উচিত।

connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass&quot;word"

দেখুন এই ফোরামে থ্রেড।

আপডেট :

&quot;কাজ করা উচিত, তবে যেমনটি হয় না, আপনি নেট .NET এর জন্য অন্য কিছু স্ট্রিং এ্যাস্কেন্স সিকোয়েন্স চেষ্টা করেছেন? \"এবং ""?

আপডেট 2:

সংযোগের জন্য একক উদ্ধৃতি চেষ্টা করুন:

connectionString='Server=dbsrv;User ID=myDbUser;Password=somepass"word'

বা:

connectionString='Server=dbsrv;User ID=myDbUser;Password=somepass&quot;word'

আপডেট 3:

এমএসডিএন থেকে (এসএইচএল সংযোগ। সংযোগ স্ট্রিং সম্পত্তি):

একটি সেমিকোলন, একক-উদ্ধৃতি অক্ষর বা ডাবল-উদ্ধৃতি অক্ষরযুক্ত মানগুলি অন্তর্ভুক্ত করতে, মানটি অবশ্যই ডাবল উদ্ধৃতি চিহ্নগুলিতে আবদ্ধ থাকতে হবে। যদি মানটিতে একটি সেমিকোলন এবং একটি ডাবল-উদ্ধৃতি উভয় অক্ষর থাকে তবে মানটি একক উদ্ধৃতি চিহ্নগুলিতে আবদ্ধ হতে পারে।

সুতরাং:

connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass&quot;word'"

সমস্যাটি ওয়েবকনফিগের সাথে নয়, তবে সংযোগের স্ট্রিংয়ের ফর্ম্যাট। সংযোগের স্ট্রিংয়ে, যদি আপনার "কোনও মান (কী-মান জোড়ার) থাকে তবে আপনাকে মানটি সংলগ্ন করতে হবে '। সুতরাং, Password=somepass"wordকাজ না Password='somepass"word'করে , না।


এটি কাজ করে না। এই বিস্মৃতভাবে কাজ করবে, যদি এটি সরল এক্সএমএল হয় তবে কোনও বৈশিষ্ট্য মানের মধ্যে নয়।
সেবাস্তিয়ান পিআর জিঙ্গার

@ সেবাস্তিয়ান পিআর জিঙ্গার - আশ্চর্যজনক যে এটি কার্যকর হয় না। আপনি কি অন্যান্য পালানোর ক্রম চেষ্টা করেছিলেন?
ওবেদের

হ্যাঁ. "" এবং \ "ব্যবহার করার সময় পুরো ওয়েবকনফিগটি পার্স করা যায় না & এটি যদি এত সহজ হত তবে আমি এখানে জিজ্ঞাসা করতাম না ;-)
সেবাস্তিয়ান পিআর জিঙ্গার

4
@ সেবাস্তিয়ান পিআর জিঙ্গার - আপনি কী চেষ্টা করেছেন এবং আপনি কী জানেন এখানকার লোকেরা অনুমান করতে পারে না। আপনার প্রশ্নে আপনাকে এ জাতীয় বিবরণ অন্তর্ভুক্ত করতে হবে (যেমনটি এখন আপনার কাছে রয়েছে)।
ওডে

আপনার ওয়েব.কমফিগ কোন এনকোডিং ব্যবহার করে?
ম্যাথু অ্যাবট

63
connectionString="Server=dbsrv;User ID=myDbUser;Password=somepass&quot;word"

যেহেতু ওয়েবকনফিগটি এক্সএমএল, তাই আপনাকে পাঁচটি বিশেষ অক্ষর থেকে বাঁচতে হবে:

&amp;-> & অ্যাম্পারস্যান্ড, ইউ + 0026
&lt; -> < বাম দিকের কোণ বন্ধনী, কম চিহ্নের চেয়ে কম, U + 003C
&gt; -> > ডান কোণের বন্ধনী, সাইন-এর চেয়ে বড়, U + 003E
&quot; -> " উদ্ধৃতি চিহ্ন, U + 0022
&apos; -> ' অ্যাস্টোস্ট্রো, U + 0027

+ মনে করি সমস্যা নেই not


ডুক ফিলান যোগ করেছেন: আপনার একক উদ্ধৃতি দিয়ে আপনার পাসওয়ার্ড মোড়ানো উচিত ':

connectionString="Server=dbsrv;User ID=myDbUser;Password='somepass&quot;word'"

এটি ওয়েব পাসপোর্টে আমার কাছে একটি পাসওয়ার্ড ছিল amp স্পষ্টতই, একই সময়ে ডাউন ট্র্যাক করা বেশ অপ্রত্যাশিত থাকার সময়। এটি ওয়েবকনফিগের ক্ষেত্রে যখন একটি অ্যাজুর ওয়েবসাইট আপনাকে দেয় ত্রুটি - "পৃষ্ঠাটি প্রদর্শিত হতে পারে না কারণ একটি অভ্যন্তরীণ সার্ভার ত্রুটি ঘটেছে।" এটি ত্রুটি লগগুলিতে কিছু লিখতে দেখা যায় না। প্রশ্নের জন্য ওপি এবং আপনাকে এই অনুস্মারকটির জন্য ধন্যবাদ।
টিমোথি লি রাসেল

বর্গাকার বন্ধনী সম্পর্কে কি? ([])
ডিজিয়ানস ইয়াফিমাউ

এবং ;চরিত্র?
কিকিনেট

2

যদি &quot;কাজ না করে থাকে তবে &#34;তার পরিবর্তে চেষ্টা করুন।


এবং চরিত্রের জন্য &? & amp; ?
কিকিনেট

1

বাজে উত্তর প্রায় সম্পূর্ণ is শুধু একটি জিনিস যোগ করা।

  1. ইমেনিয়েল গ্রিকোর মতো এক্সপ্লোর এক্সএমএল বিশেষ অক্ষর ড।
  2. ওডেডের মতো একক উদ্ধৃতিতে পাসওয়ার্ডটি রাখুন
  3. (এটি এক নতুন) অন্য একক টিক দিয়ে একক টিক্স এড়িয়ে চলুন ( রেফ )

এই পাসওয়ার্ডটি = "'থাকা; এটি একটি কার্যকর সংযোগ স্ট্রিং হতে পারে:

connectionString='Server=dbsrv;User ID=myDbUser;Password='&quot;&amp;&amp;;'

আমি মনে করি আপনার অর্থ password='''';বৈধ। তবে আপনার পরামর্শটি আমার পক্ষে কাজ করেছে। এটি আসলে অন্যান্য পালানোর স্কিমগুলিতেও ব্যবহৃত হয়।
ব্লুবারন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.