Mam aplikację ASP.Net, która działa dobrze na moim lokalnym komputerze deweloperskim.
Kiedy uruchamiam tę aplikację online, wyświetla następujący błąd
Format ciągu inicjalizacyjnego nie jest zgodny ze specyfikacją zaczynającą się od indeksu 0
c#
asp.net
sql-server-2008
GS Bhangal
źródło
źródło
Odpowiedzi:
Sprawdź parametry połączenia. Jeśli potrzebujesz pomocy, sprawdź Parametry Połączenia , które zawierają listę najczęściej używanych.
Często używane ciągi połączeń:
SQL Server 2012
Standardowe zabezpieczenia
Zaufane połączenie
Połączenie z instancją SQL Server
Składnia nazwy serwera / instancji używana w opcji serwera jest taka sama dla wszystkich parametrów połączenia programu SQL Server.
SQL Server 2005
Standardowe zabezpieczenia
Zaufane połączenie
Połączenie z instancją SQL Server
Składnia nazwy serwera / instancji używana w opcji serwera jest taka sama dla wszystkich parametrów połączenia programu SQL Server.
MySQL
Standard
Określanie portu TCP
Wyrocznia
Korzystanie z TNS
Korzystanie ze zintegrowanych zabezpieczeń
Korzystanie z ODP.NET bez tnsnames.ora
źródło
To może komuś pomóc ... Moje hasło zawierało średnik, więc napotkałem ten problem. Dodałem więc hasło w cudzysłowie. To był naprawdę głupi błąd.
Zmieniłem następujące:
do
źródło
Ustaw projekt zawierający
DbContext
klasę jako projekt startowy.Otrzymałem ten błąd podczas dzwonienia
enable-migrations
. Nawet jeśli w poluPackage Manager Console
wybrałem prawoDefault project
, nadal patrzył na plik web.config tego projektu startowego, w którym nie było parametrów połączenia.źródło
Upewnij się, że parametry połączenia mają następujący format:
Jeśli w ciągu brakuje
server
tagu, metoda zwróci ten błąd.źródło
Miałem ten sam problem. Lokalnie strona działała dobrze, ale na lazurowym nie powiodłaby się z powyższym komunikatem.
okazuje się, że problem polegał na ustawieniu ciągu połączenia w ctor, na przykład:
NIE działa, to będzie:
Bije mnie
źródło
Sprawdź parametry połączenia, tak jak zapomniałem dodać
services.AddDbContext<dbsContext>(options => options.UseSqlServer("Default"));
Powoduje błąd i tutaj jak dodam
Configuration.GetConnectionString
to rozwiązuje problemjak teraz połączenie to:
działa dobrze (ten problem został rozwiązany dla .net core)
źródło
Odwołanie się do pełnej ścieżki SP rozwiązało ten problem:
źródło
Rozwiązałem ten problem, zmieniając parametry połączenia w ustawieniach publikowania mojego interfejsu API sieci Web ASP.NET.
Sprawdź moją odpowiedź w tym poście: Jak naprawić błąd :: Format ciągu inicjalizacyjnego nie jest zgodny ze specyfikacją zaczynającą się od indeksu 0 ::
źródło
Miałem ten sam błąd. W moim przypadku było to spowodowane brakiem cudzysłowu zamykającego hasło w ciągu połączenia.
Zmieniono z tego
Do
źródło
Dzieje się tak również, gdy kopiujesz stronę internetową z jednego rozwiązania do drugiego, a następnie uruchamiasz rozwiązanie i dowiadujesz się, że ma ono inną nazwę ciągu połączenia w konfiguracji webconfig. Następnie beztrosko zmieniasz nazwę ciągu połączenia w panelu właściwości w widoku projektu strony.
Lepiej po prostu zmienić to w części kodu zamiast projektu.
źródło
Mój problem polegał na tym, że dodałem kod rejestrowania bazy danych do mojego konstruktora dla obiektu DB i wydawało się, że spowodowało to spustoszenie w moim profilu wdrażania Azure.
FYI - uprościłem ten przykład, w prawdziwym kodzie to zostało wyłączone w produkcji (ale nadal w kodzie)
źródło
Wystąpiła literówka w moich parametrach połączenia „Baza danych == PESitecore1_master”
źródło
Miałem ten sam problem i ostatecznie udało mi się go rozwiązać w następujący sposób:
Problem dotyczył definicji parametrów połączenia w moim pliku web.config.
Powyższe działało idealnie lokalnie, ponieważ korzystałem z lokalnej bazy danych podczas zarządzania użytkownikami i rolami. Kiedy przeniosłem swoją aplikację do IIS, lokalna baza danych nie była już dostępna, dodatkowo chciałbym używać mojej bazy danych w SQL Server. Więc zmieniam powyższe parametry połączenia na następujący odpowiednik bazy danych SQL Server:
UWAGA: Powyższe również załóżmy, że zamierzasz użyć tego samego SQL Server z twojego lokalnego pudełka (w przypadku, gdy włączysz go do lokalnego web.config - dokładnie to zrobiłem w moim przypadku).
źródło
Miałem ten sam problem, doszedłem do wniosku, że wdrożenie do IIS nie ustawiło poprawnie parametrów połączenia. były one „$ (ReplacableToken_devConnection-Web.config Connection String_0)” podczas wyświetlania parametrów połączenia witryny w usługach IIS, zamiast rzeczywistych parametrów połączenia. Zaktualizowałem je tam i wszystkie działały zgodnie z oczekiwaniami
źródło
Skopiowałem i wkleiłem konfigurację parametrów połączenia do projektu testowego i uruchomiłem ten błąd. Parametry połączenia działały dobrze w moim projekcie WebAPI. Oto moja poprawka.
źródło
Usunąłem & quot; na końcu parametrów połączenia i zadziałało
Zamiast
Używany
Ustaw DefaultConnection jak poniżej
źródło
Mój problem nie polegał na tym, że podane przeze mnie parametry połączenia były nieprawidłowe lub że parametry połączenia w pliku app.config, którego używałem, były nieprawidłowe, ale użyłem niewłaściwego pliku app.config.
źródło
Czasami usługa Sql Server nie została uruchomiona. Może to spowodować błąd. Przejdź do Usługi i uruchom Sql Server. To powinno zadziałać.
źródło
Dla drugiej niefortunnej duszy, która zarządza starszą aplikacją formularzy internetowych, która używa wbudowanego źródła sqldatasource, wraz z parametrami połączenia przechowywanymi w web.config, możesz otrzymać ten błąd, jeśli uzyskasz dostęp do parametrów połączenia, takich jak <% APSDataConnectionString%> zamiast < % $ ConnectionStrings: MyConnectionString%>. Zdarzyło się to nam podczas aktualizacji .NET z 3.5 do 4.x.
źródło
W moim przypadku problem polegał na tym, że na serwerze aplikacja używała innego pliku appsettings.json.
źródło
W moim przypadku mam podobny błąd:
Aplikacja zgłosiła nieobsługiwany wyjątek. System.ArgumentException: Format ciągu inicjującego nie jest zgodny ze specyfikacją zaczynającą się od indeksu 91.
Zmieniam parametry połączenia z:
Server = .; Baza danych = nazwa_db; Identyfikator użytkownika = myuserid; Hasło = mojehasło ”
do:
Server = .; Baza danych = nazwa_db; Identyfikator użytkownika = myuserid; Hasło = 'mojehasło' ”
i działa, dodałem pojedyncze cudzysłowy do hasła.
źródło
Miałem również ten błąd i mogłem go rozwiązać w następujący sposób: wcześniej napisałem ciąg połączenia do pliku appsettings.json w sekcji, którą utworzyłem (ConnectionsStrings (zauważ dodatkowe „s”) i próbowałem połączyć się z moją bazą danych, co spowodowało To była aplikacja ASP.NET CORE, więc chciałem się z nią połączyć za pomocą metody .GetConnectionString (szczegóły na ten temat tutaj ). Wygląda na to, że ta metoda niejawnie wyszukuje ciąg połączenia w sekcji „ConnectionStrings”, co nie nie istnieje. Kiedy zmieniłem / poprawiłem go na „ConnectionStrings”, działało zgodnie z oczekiwaniami.
źródło
Jak wiem, ilekroć masz więcej niż 1 ciąg połączenia w swoim rozwiązaniu (Twój bieżący projekt, projekt startowy, ...), możesz napotkać ten błąd
to łącze może pomóc w kliknięciu
źródło