आरंभीकरण स्ट्रिंग का प्रारूप अनुक्रमणिका 0 पर शुरू होने वाले विनिर्देश के अनुरूप नहीं है


142

मेरे पास ASP.Net अनुप्रयोग है जो मेरी स्थानीय विकास मशीन पर ठीक चलता है।

जब मैं इस एप्लिकेशन को ऑनलाइन चलाता हूं, तो यह निम्न त्रुटि दिखाता है

आरंभीकरण स्ट्रिंग का प्रारूप अनुक्रमणिका 0 पर शुरू होने वाले विनिर्देश के अनुरूप नहीं है


1
आप शायद एक खराब एसक्यूएल कॉल / कनेक्शन बनाते हैं। आप गूगल यदि यह blogs.msdn.com/b/jongallant/archive/2009/05/02/...
Aristos

1
ज्यादा से ज्यादा मतदान जवाब stackoverflow.com/questions/9040266/... अधिक सटीक तुलना में सबसे अधिक एक यहाँ मतदान हो रहा है: हालांकि कनेक्शन स्ट्रिंग आप विकास में उपयोग करते हैं, काम कर सकते हैं प्रकाशित करने की जरूरत है उत्पादन के लिए एक अलग कनेक्शन स्ट्रिंग उचित प्रदान करने के लिए, और यह विफल हो सकता है। उदाहरण के लिए, उस व्यक्ति ने जो प्रश्न पूछा था, वह कनेक्शन "$ (ReplacableToken_mcn-Web.config Connection String_0) था," जो प्रतिस्थापन को इंगित करता है जो प्रकाशित होने के भाग के रूप में होना चाहिए था।
डिवगा

जवाबों:


183

अपने कनेक्शन स्ट्रिंग की जाँच करें। यदि आपको इसके लिए कनेक्शन स्ट्रिंग्स की जांच करने में मदद चाहिए , जिसमें आमतौर पर उपयोग किए जाने वाले लोगों की सूची है।

आमतौर पर इस्तेमाल किए जाने वाले कनेक्शन स्ट्रिंग्स:

SQL सर्वर 2012

मानक सुरक्षा

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;

SQL सर्वर 2005

मानक सुरक्षा

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;

9
मेरी समस्या गलत ConnectionString के लिए संबंधित नहीं है। मैं अपने डेवलपर मशीन से उत्पादन डीबी से कनेक्ट करने और इसका उपयोग करने में सक्षम हूं। जब मैं उसी सेटिंग्स को तैनात करता हूं तो मुझे यह त्रुटि मिल रही है। क्या आपको पता है कि क्या गलत हो सकता है? धन्यवाद
डेनिस Besic

3
डेनिस पर कई चीजें हो सकती हैं। सबसे पहले, क्या आपका सर्वर और एक ही नेटवर्क में आपकी देव मशीन है? आप किस तरह के लॉगिन का उपयोग कर रहे हैं? क्या आप किसी भी प्रकार के प्रॉक्सी का उपयोग कर रहे हैं, क्या आप ठेस सर्वर में फ़ायरवॉल के पीछे हैं? किसी भी वीपीएन में मिल रहे हैं?
हैनलेट एस्केनो

2
मुझे यकीन नहीं है कि कौन जिम्मेदार है, क्या यह विजुअल स्टूडियो, वेब परिनियोजन के लिए टूल या शॉर्टकट। होस्टिंग है। जब आवेदन तैनात किया गया था तो कुछ ने मेरे कनेक्शन को बदल दिया। मैंने सीधे web.config तक पहुंच बनाई और मैन्युअल रूप से इसे अपडेट किया और यह काम करता है। +1 के साथ आपके समय के लिए धन्यवाद;
डेनिस बेसिक

यह काम नहीं कर रहा है, मैंने सही कनेक्शन स्ट्रिंग डालने की कोशिश की है।

क्या कोई इस प्रश्न को देख सकता है? stackoverflow.com/questions/46167682/…

18

यह किसी की मदद कर सकता है .. मेरे पासवर्ड में एक अर्धविराम शामिल था जो इस समस्या का सामना कर रहा था। उसने पासवर्ड को उद्धरण में जोड़ा। यह वास्तव में एक मूर्खतापूर्ण गलती थी।

मैंने निम्नलिखित को बदल दिया:

<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" />

हाँ, यह मेरा मुद्दा था मेरे पासवर्ड के लिए एक था; इसलिए '' ने इसे हल कर दिया
क्लाउडियो

11

अपने DbContextप्रोजेक्ट को स्टार्टअप प्रोजेक्ट के रूप में सेट करें ।

मुझे कॉल करते समय यह त्रुटि हो रही थी enable-migrations। यहां तक ​​कि अगर Package Manager Consoleमैंने सही का चयन किया Default project, तो यह अभी भी उस स्टार्टअप प्रोजेक्ट की वेब.कॉन्फिग फाइल को देख रहा था, जहां कनेक्शन स्ट्रिंग मौजूद नहीं था।


4
+1। मुझे लगता है कि शुरुआती परियोजना ऐसी परियोजना होनी चाहिए जिसमें कनेक्शन स्ट्रिंग शामिल हो। यह मेरी समस्या थी। स्टार्टअप परियोजना के आपके सुझाव के लिए धन्यवाद।
टाच

4

सुनिश्चित करें कि आपका कनेक्शन स्ट्रिंग इस प्रारूप में है:

सर्वर = फ़ॉस्वर; डेटाबेस = BLAH_DB; पूलिंग = गलत; टाइमआउट = 60 कनेक्ट; एकीकृत सुरक्षा = एसएसपीआई;

यदि आपका स्ट्रिंग serverटैग गायब है तो विधि इस त्रुटि के साथ वापस आ जाएगी।


4

मुझे भी यही समस्या थी। स्थानीय रूप से साइट ठीक-ठाक चली, लेकिन एज़्योर पर यह ऊपर दिए गए संदेश के साथ विफल हो जाएगी।

पता चला कि समस्या इस तरह से ctor में कनेक्शन सेट कर रही थी:

    public DatabaseContext() 
    {
        Database.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["db"].ConnectionString;
    }

काम नहीं करता है, यह होगा:

    public DatabaseContext() : base("db")
    {
    }

मुझे पता नहीं..


यह इतना अजीब फिक्स है लेकिन सिर्फ मेरी जान बचाई है। रिकॉर्ड के लिए, "db" कॉन्फिग फाइल में आपके कनेक्शन स्ट्रिंग की कुंजी का नाम है (मेरा "db" नहीं था)
माइक

इसे मेरे लिए भी तय किया। मेरे पास एक वैध कनेक्शन था, लेकिन इसे मैन्युअल रूप से सेट करना "इनिशियलाइज़ेशन स्ट्रिंग का प्रारूप इंडेक्स 0 पर शुरू होने वाले विनिर्देश के अनुरूप नहीं है"।
सारदुकर

4

अपना कनेक्शन स्ट्रिंग जांचें जैसे मैं जोड़ना भूल गया हूं services.AddDbContext<dbsContext>(options => options.UseSqlServer("Default"));

यह त्रुटि का कारण बनता है और यहां जब मैं जोड़ता हूं Configuration.GetConnectionString, तब यह समस्या को हल करता है

जैसे अब कनेक्शन है:

services.AddDbContext<dbsContext>(options => options.UseSqlServer(Configuration.GetConnectionString("Default")));

ठीक काम करता है (यह समस्या .net कोर के लिए हल है)


3

पूरे सपा पथ को संदर्भित करते हुए मेरे लिए इस मुद्दे को हल किया:

var command = new SqlCommand("DatabaseName.dbo.StoredProcedureName", conn)

2

मैंने अपने ASP.NET वेब एप की प्रकाशित सेटिंग्स पर कनेक्शन स्ट्रिंग को बदलकर इसे हल किया।

इस पोस्ट पर मेरे उत्तर की जाँच करें : त्रुटि को ठीक कैसे करें :: आरंभीकरण स्ट्रिंग का प्रारूप अनुक्रमणिका 0 पर शुरू विनिर्देश के अनुरूप नहीं है ::


2

मेरी भी यही त्रुटि थी। मेरे मामले में, यह इसलिए था क्योंकि मुझे कनेक्शन स्ट्रिंग में पासवर्ड के लिए एक समापन उद्धरण याद आ रहा था।

इससे बदल गया

<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" />

कृपया अपना उत्तर सही करने के लिए कुछ नमूना कोड या कुछ और लिखें। एक पंक्ति सब कुछ नहीं समझाती है
मनीष कुमावत

ज़रूर। ऊपर मेरे जवाब का संपादन किया।
आमेर बाशोब

1

यह तब भी होता है जब आप एक वेब पेज को एक समाधान से दूसरे में कॉपी करते हैं, तो आप अपना समाधान चलाते हैं और यह पता लगाते हैं कि वेबकॉन्फिग में इसका एक अलग कनेक्शन स्ट्रिंग नाम है। तब आप लापरवाही से पृष्ठ के डिज़ाइन दृश्य में गुण पैनल में कनेक्शन स्ट्रिंग का नाम बदल सकते हैं।

डिज़ाइन के बजाय कोड भाग में इसे बदलने के लिए बेहतर है।


1

मेरी समस्या थी कि मुझे एक डीबी ऑब्जेक्ट के लिए अपने कंस्ट्रक्टर में डेटाबेस लॉगिंग कोड जोड़ा गया था, और यह मेरे एज़्योर परिनियोजन प्रोफ़ाइल पर कहर पैदा करता था।

FYI करें - मैंने इस उदाहरण को सरल बनाया, वास्तविक कोड में इसे उत्पादन में बंद कर दिया गया था (लेकिन कोड में अभी भी)

public class MyDB : DbContext
{
    public MyDB()
    {
         this.Database.Log = x => { Debug.WriteLine(x); };
    }
}

1

मैंने अपने कनेक्शन स्ट्रिंग्स में "डेटाबेस == PESitecore1_master" टाइप किया था

<add name="master" connectionString="user id=sa;password=xxxxx;Data Source=APR9038KBD\SQL2014;Database==PESitecore1_master"/>

1

मेरे पास एक ही समस्या थी और आखिरकार मैं इसे निम्नलिखित तरीके से हल करने में कामयाब रहा:

समस्या मेरे 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 में शामिल करते हैं - वही जो मैंने अपने मामले में किया था)।


1

मेरे पास एक ही मुद्दा था, यह पता लगाने के लिए कि आईआईएस में तैनाती ने कनेक्शन के तारों को सही ढंग से सेट नहीं किया है। जब वे वास्तविक कनेक्शन स्ट्रिंग के बजाय IIS में साइट के कनेक्शन स्ट्रिंग्स को देखते हुए '$ (ReplacableToken_devConnection-Web.config Connection String_0) थे। मैंने उन्हें वहां अपडेट किया, और सभी ने उम्मीद के मुताबिक काम किया


आप और अधिक यह विस्तृत plz कर सकते हैं
TechnicalKeera

I ALSO का एक ही मुद्दा है, और 3 सप्ताह से
TechnicalKeera

1

मैंने अपने कनेक्शन स्ट्रिंग कॉन्फ़िगरेशन को अपने परीक्षण प्रोजेक्ट में कॉपी और पेस्ट किया और इस त्रुटि में चलना शुरू कर दिया। कनेक्शन स्ट्रिंग ने मेरे WebAPI प्रोजेक्ट में ठीक काम किया। यहाँ मेरा फिक्स है।

var connection = ConfigurationManager.ConnectionStrings["MyConnectionString"];
var unitOfWork = new UnitOfWork(new SqlConnection(connection.ConnectionString));

1

मैंने कनेक्शन स्ट्रिंग के अंत में & quot; हटा दिया और यह काम कर गया

के बजाय

App=EntityFramework&quot;

उपयोग किया गया

App=EntityFramework;

नीचे के रूप में DefaultConnection सेट करें

<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 | एन्कोडेड उद्धरण: "" "


0

मेरी समस्या यह नहीं थी कि जो कनेक्शन स्ट्रिंग मैं प्रदान कर रहा था, वह गलत था, या कि ऐप में कनेक्शन स्ट्रिंग ।config मुझे लगा कि मैं उपयोग कर रहा हूं गलत था, लेकिन यह कि मैं गलत app.config का उपयोग कर रहा था।


0

कभी-कभी Sql Server सेवा शुरू नहीं की गई है। इससे त्रुटि उत्पन्न हो सकती है। सेवाओं पर जाएं और एसक्यूएल सर्वर शुरू करें। यह काम करना चाहिए। यहां छवि विवरण दर्ज करें


यदि Sql Server Express शुरू नहीं होता है तो आपको सर्वर इंस्टेंस एक्सेप्शन मिलता है न कि वह जो ओपी ने अपने प्रश्न में वर्णित किया है।
noobprogrammer

0

एक अन्य दुर्भाग्यपूर्ण आत्मा के लिए जो एक विरासत वेबफॉर्म एप्लिकेशन का प्रबंधन कर रहा है, जो इनलाइन 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>

0

मेरे मामले में समस्या यह थी कि सर्वर पर, एप्लिकेशन द्वारा एक अलग appsettings.json फ़ाइल का उपयोग किया गया था।


0

मेरे मामले में, मुझे एक समान त्रुटि मिली:

एक अनहैंड अपवाद को एप्लिकेशन द्वारा फेंक दिया गया था। System.ArgumentException: प्रारंभ स्ट्रिंग का प्रारूप अनुक्रमणिका 91 पर प्रारंभ विनिर्देश के अनुरूप नहीं है।

मैं अपना कनेक्शन स्ट्रिंग इससे बदलता हूं:

सर्वर =; डेटाबेस = dbname; प्रयोक्ता आईडी = myuserid; पासवर्ड = mypassword "

सेवा:

सर्वर =; डेटाबेस = dbname; प्रयोक्ता आईडी = myuserid; पासवर्ड = 'mypassword' "

और यह काम करता है, मैंने पासवर्ड में एकल उद्धरण जोड़े।


0

मेरे पास यह त्रुटि भी थी और इसे इस प्रकार हल करने में सक्षम था: मैंने पहले appsettings.json के कनेक्शन को एक खंड में लिखा था, जिसे मैंने बनाया (ConnectionsStrings (अतिरिक्त "s" नोटिस) और अपने डेटाबेस से कनेक्ट करने का प्रयास किया, जिसके कारण त्रुटि। यह एक ASP.NET कोर आवेदन था और मैं तो .GetConnectionString विधि (उस पर विवरण के साथ यह करने के लिए कनेक्ट करने के लिए चाहता था यहाँ )। ऐसा लगता है कि इस विधि परोक्ष -section "ConnectionStrings" में एक connectionstring के लिए खोजों, जो didn "टी अस्तित्व में है। जब मैंने इसे" कनेक्शनस्ट्रीम "में बदल दिया / ठीक किया तो यह उम्मीद के मुताबिक काम किया।


0

जैसा कि मुझे पता है, जब भी आपके समाधान में 1 से अधिक कनेक्शन स्ट्रिंग (आपकी वर्तमान परियोजना, स्टार्टअप परियोजना, ...) है, तो आप इस त्रुटि के साथ सामना कर सकते हैं

यह लिंक आपको क्लिक करने में मदद कर सकता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.