मेरे पास ASP.Net अनुप्रयोग है जो मेरी स्थानीय विकास मशीन पर ठीक चलता है।
जब मैं इस एप्लिकेशन को ऑनलाइन चलाता हूं, तो यह निम्न त्रुटि दिखाता है
आरंभीकरण स्ट्रिंग का प्रारूप अनुक्रमणिका 0 पर शुरू होने वाले विनिर्देश के अनुरूप नहीं है
मेरे पास ASP.Net अनुप्रयोग है जो मेरी स्थानीय विकास मशीन पर ठीक चलता है।
जब मैं इस एप्लिकेशन को ऑनलाइन चलाता हूं, तो यह निम्न त्रुटि दिखाता है
आरंभीकरण स्ट्रिंग का प्रारूप अनुक्रमणिका 0 पर शुरू होने वाले विनिर्देश के अनुरूप नहीं है
जवाबों:
अपने कनेक्शन स्ट्रिंग की जाँच करें। यदि आपको इसके लिए कनेक्शन स्ट्रिंग्स की जांच करने में मदद चाहिए , जिसमें आमतौर पर उपयोग किए जाने वाले लोगों की सूची है।
आमतौर पर इस्तेमाल किए जाने वाले कनेक्शन स्ट्रिंग्स:
मानक सुरक्षा
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
भरोसे का कनेक्शन
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
SQL सर्वर आवृत्ति से कनेक्शन
सर्वर विकल्प में प्रयुक्त सर्वर / इंस्टेंस नाम सिंटैक्स सभी SQL सर्वर कनेक्शन स्ट्रिंग्स के लिए समान है।
Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;
Password=myPassword;
मानक सुरक्षा
Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;
भरोसे का कनेक्शन
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
SQL सर्वर आवृत्ति से कनेक्शन
सर्वर विकल्प में प्रयुक्त सर्वर / इंस्टेंस नाम सिंटैक्स सभी SQL सर्वर कनेक्शन स्ट्रिंग्स के लिए समान है।
Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;Password=myPassword;
मानक
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
टीसीपी पोर्ट को निर्दिष्ट करना
Server=myServerAddress;Port=1234;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
TNS का उपयोग करना
Data Source=TORCL;User Id=myUsername;Password=myPassword;
एकीकृत सुरक्षा का उपयोग करना
Data Source=TORCL;Integrated Security=SSPI;
Tnsnames.ora के बिना ODP.NET का उपयोग करना
Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;
यह किसी की मदद कर सकता है .. मेरे पासवर्ड में एक अर्धविराम शामिल था जो इस समस्या का सामना कर रहा था। उसने पासवर्ड को उद्धरण में जोड़ा। यह वास्तव में एक मूर्खतापूर्ण गलती थी।
मैंने निम्नलिखित को बदल दिया:
<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password=pass;word" providerName="System.Data.SqlClient" />
सेवा
<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password='pass;word'" providerName="System.Data.SqlClient" />
अपने DbContext
प्रोजेक्ट को स्टार्टअप प्रोजेक्ट के रूप में सेट करें ।
मुझे कॉल करते समय यह त्रुटि हो रही थी enable-migrations
। यहां तक कि अगर Package Manager Console
मैंने सही का चयन किया Default project
, तो यह अभी भी उस स्टार्टअप प्रोजेक्ट की वेब.कॉन्फिग फाइल को देख रहा था, जहां कनेक्शन स्ट्रिंग मौजूद नहीं था।
मुझे भी यही समस्या थी। स्थानीय रूप से साइट ठीक-ठाक चली, लेकिन एज़्योर पर यह ऊपर दिए गए संदेश के साथ विफल हो जाएगी।
पता चला कि समस्या इस तरह से ctor में कनेक्शन सेट कर रही थी:
public DatabaseContext()
{
Database.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["db"].ConnectionString;
}
काम नहीं करता है, यह होगा:
public DatabaseContext() : base("db")
{
}
मुझे पता नहीं..
अपना कनेक्शन स्ट्रिंग जांचें जैसे मैं जोड़ना भूल गया हूं services.AddDbContext<dbsContext>(options => options.UseSqlServer("Default"));
यह त्रुटि का कारण बनता है और यहां जब मैं जोड़ता हूं Configuration.GetConnectionString
, तब यह समस्या को हल करता है
जैसे अब कनेक्शन है:
services.AddDbContext<dbsContext>(options => options.UseSqlServer(Configuration.GetConnectionString("Default")));
ठीक काम करता है (यह समस्या .net कोर के लिए हल है)
मैंने अपने ASP.NET वेब एप की प्रकाशित सेटिंग्स पर कनेक्शन स्ट्रिंग को बदलकर इसे हल किया।
इस पोस्ट पर मेरे उत्तर की जाँच करें : त्रुटि को ठीक कैसे करें :: आरंभीकरण स्ट्रिंग का प्रारूप अनुक्रमणिका 0 पर शुरू विनिर्देश के अनुरूप नहीं है ::
मेरी भी यही त्रुटि थी। मेरे मामले में, यह इसलिए था क्योंकि मुझे कनेक्शन स्ट्रिंग में पासवर्ड के लिए एक समापन उद्धरण याद आ रहा था।
इससे बदल गया
<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password='password" providerName="System.Data.SqlClient" />
सेवा
<add name="db" connectionString="server=local;database=dbanme;user id=dbuser;password='password'" providerName="System.Data.SqlClient" />
यह तब भी होता है जब आप एक वेब पेज को एक समाधान से दूसरे में कॉपी करते हैं, तो आप अपना समाधान चलाते हैं और यह पता लगाते हैं कि वेबकॉन्फिग में इसका एक अलग कनेक्शन स्ट्रिंग नाम है। तब आप लापरवाही से पृष्ठ के डिज़ाइन दृश्य में गुण पैनल में कनेक्शन स्ट्रिंग का नाम बदल सकते हैं।
डिज़ाइन के बजाय कोड भाग में इसे बदलने के लिए बेहतर है।
मेरी समस्या थी कि मुझे एक डीबी ऑब्जेक्ट के लिए अपने कंस्ट्रक्टर में डेटाबेस लॉगिंग कोड जोड़ा गया था, और यह मेरे एज़्योर परिनियोजन प्रोफ़ाइल पर कहर पैदा करता था।
FYI करें - मैंने इस उदाहरण को सरल बनाया, वास्तविक कोड में इसे उत्पादन में बंद कर दिया गया था (लेकिन कोड में अभी भी)
public class MyDB : DbContext
{
public MyDB()
{
this.Database.Log = x => { Debug.WriteLine(x); };
}
}
मैंने अपने कनेक्शन स्ट्रिंग्स में "डेटाबेस == PESitecore1_master" टाइप किया था
<add name="master" connectionString="user id=sa;password=xxxxx;Data Source=APR9038KBD\SQL2014;Database==PESitecore1_master"/>
मेरे पास एक ही समस्या थी और आखिरकार मैं इसे निम्नलिखित तरीके से हल करने में कामयाब रहा:
समस्या मेरे web.config में कनेक्शन स्ट्रिंग परिभाषा में थी।
<add name="DefaultConnection" connectionString="DefaultConnection_ConnectionString" providerName="System.Data.SqlClient"/>
उपरोक्त स्थानीय रूप से सही काम किया क्योंकि जब मैंने उपयोगकर्ताओं और भूमिकाओं को प्रबंधित किया तो मैंने एक स्थानीय डेटाबेस का उपयोग किया। जब मैंने अपने एप्लिकेशन को IIS में स्थानांतरित कर दिया तो स्थानीय DB सुलभ नहीं था, इसके अलावा मैं SQL सर्वर में अपने DB का उपयोग करना चाहूंगा। इसलिए मैं उपरोक्त कनेक्शन स्ट्रिंग को निम्न SQL सर्वर DB के बराबर बदलता हूं:
<add name="DefaultConnection" connectionString="data source=MY_SQL_SERVER; Initial Catalog=MY_DATABASE_NAME; Persist Security Info=true; User Id=sa;Password=Mybl00dyPa$$" providerName="System.Data.SqlClient"/>
नोट: उपरोक्त, यह भी, मान लें कि आप अपने स्थानीय बॉक्स से उसी SQL सर्वर का उपयोग करने जा रहे हैं (यदि आप इसे अपने स्थानीय web.config में शामिल करते हैं - वही जो मैंने अपने मामले में किया था)।
मेरे पास एक ही मुद्दा था, यह पता लगाने के लिए कि आईआईएस में तैनाती ने कनेक्शन के तारों को सही ढंग से सेट नहीं किया है। जब वे वास्तविक कनेक्शन स्ट्रिंग के बजाय IIS में साइट के कनेक्शन स्ट्रिंग्स को देखते हुए '$ (ReplacableToken_devConnection-Web.config Connection String_0) थे। मैंने उन्हें वहां अपडेट किया, और सभी ने उम्मीद के मुताबिक काम किया
मैंने अपने कनेक्शन स्ट्रिंग कॉन्फ़िगरेशन को अपने परीक्षण प्रोजेक्ट में कॉपी और पेस्ट किया और इस त्रुटि में चलना शुरू कर दिया। कनेक्शन स्ट्रिंग ने मेरे WebAPI प्रोजेक्ट में ठीक काम किया। यहाँ मेरा फिक्स है।
var connection = ConfigurationManager.ConnectionStrings["MyConnectionString"];
var unitOfWork = new UnitOfWork(new SqlConnection(connection.ConnectionString));
मैंने कनेक्शन स्ट्रिंग के अंत में & quot; हटा दिया और यह काम कर गया
के बजाय
App=EntityFramework"
उपयोग किया गया
App=EntityFramework;
<add name="DefaultConnection" connectionString="data source=(local);initial catalog=NamSdb;persist security info=True;user id=sa;password=sa;MultipleActiveResultSets=True;App=EntityFramework;" providerName="System.Data.SqlClient" />
नोट: कनेक्शन में शामिल न करें:
| x | मेटाडेटा जानकारी: "मेटाडेटा = रेस: // * /"
| x | एन्कोडेड उद्धरण: "" "
कभी-कभी Sql Server सेवा शुरू नहीं की गई है। इससे त्रुटि उत्पन्न हो सकती है। सेवाओं पर जाएं और एसक्यूएल सर्वर शुरू करें। यह काम करना चाहिए।
एक अन्य दुर्भाग्यपूर्ण आत्मा के लिए जो एक विरासत वेबफॉर्म एप्लिकेशन का प्रबंधन कर रहा है, जो इनलाइन sqldatasource का उपयोग करता है, साथ ही web.config में संग्रहीत कनेक्शन तार का उपयोग करता है, तो आपको यह त्रुटि मिल सकती है यदि आप अपने कनेक्शन स्ट्रिंग जैसे <APSDataConnectionString%> के बजाय < % $ कनेक्शनस्ट्रीम्स: MyConnectionString%>। यह हमारे लिए हुआ। 3.5 से 4.x पर .NET को अपग्रेड करते समय।
<asp:DropDownList ID="ddl" runat="server" DataSourceID="SqlDataSource1"
DataTextField="value" DataValueField="id"></asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
SelectCommand="select id, value from a_table">
</asp:SqlDataSource>
मेरे मामले में समस्या यह थी कि सर्वर पर, एप्लिकेशन द्वारा एक अलग appsettings.json फ़ाइल का उपयोग किया गया था।
मेरे मामले में, मुझे एक समान त्रुटि मिली:
एक अनहैंड अपवाद को एप्लिकेशन द्वारा फेंक दिया गया था। System.ArgumentException: प्रारंभ स्ट्रिंग का प्रारूप अनुक्रमणिका 91 पर प्रारंभ विनिर्देश के अनुरूप नहीं है।
मैं अपना कनेक्शन स्ट्रिंग इससे बदलता हूं:
सर्वर =; डेटाबेस = dbname; प्रयोक्ता आईडी = myuserid; पासवर्ड = mypassword "
सेवा:
सर्वर =; डेटाबेस = dbname; प्रयोक्ता आईडी = myuserid; पासवर्ड = 'mypassword' "
और यह काम करता है, मैंने पासवर्ड में एकल उद्धरण जोड़े।
मेरे पास यह त्रुटि भी थी और इसे इस प्रकार हल करने में सक्षम था: मैंने पहले appsettings.json के कनेक्शन को एक खंड में लिखा था, जिसे मैंने बनाया (ConnectionsStrings (अतिरिक्त "s" नोटिस) और अपने डेटाबेस से कनेक्ट करने का प्रयास किया, जिसके कारण त्रुटि। यह एक ASP.NET कोर आवेदन था और मैं तो .GetConnectionString विधि (उस पर विवरण के साथ यह करने के लिए कनेक्ट करने के लिए चाहता था यहाँ )। ऐसा लगता है कि इस विधि परोक्ष -section "ConnectionStrings" में एक connectionstring के लिए खोजों, जो didn "टी अस्तित्व में है। जब मैंने इसे" कनेक्शनस्ट्रीम "में बदल दिया / ठीक किया तो यह उम्मीद के मुताबिक काम किया।
जैसा कि मुझे पता है, जब भी आपके समाधान में 1 से अधिक कनेक्शन स्ट्रिंग (आपकी वर्तमान परियोजना, स्टार्टअप परियोजना, ...) है, तो आप इस त्रुटि के साथ सामना कर सकते हैं
यह लिंक आपको क्लिक करने में मदद कर सकता है