Saya memiliki aplikasi ASP.Net yang berjalan dengan baik di mesin pengembangan lokal saya.
Ketika saya menjalankan aplikasi ini secara online, itu menunjukkan kesalahan berikut
Format string inisialisasi tidak sesuai dengan spesifikasi mulai dari indeks 0
c#
asp.net
sql-server-2008
GS Bhangal
sumber
sumber
Jawaban:
Periksa string koneksi Anda. Jika Anda memerlukan bantuan untuk itu periksa Connection Strings , yang memiliki daftar yang biasa digunakan.
String Koneksi yang umum digunakan:
SQL Server 2012
Keamanan Standar
Koneksi Tepercaya
Koneksi ke turunan SQL Server
Sintaks nama server / instance yang digunakan dalam opsi server sama untuk semua string koneksi SQL Server.
SQL Server 2005
Keamanan Standar
Koneksi Tepercaya
Koneksi ke turunan SQL Server
Sintaks nama server / instance yang digunakan dalam opsi server sama untuk semua string koneksi SQL Server.
MySQL
Standar
Menentukan port TCP
Peramal
Menggunakan TNS
Menggunakan keamanan terintegrasi
Menggunakan ODP.NET tanpa tnsnames.ora
sumber
Ini mungkin membantu seseorang .. Kata sandi saya mengandung tanda titik koma sehingga menghadapi masalah ini. Jadi, tambah kata sandi dalam tanda kutip. Itu benar-benar kesalahan konyol.
Saya mengubah yang berikut:
untuk
sumber
Atur proyek yang berisi
DbContext
kelas Anda sebagai proyek startup.Saya mendapatkan kesalahan ini saat menelepon
enable-migrations
. Bahkan jika dalamPackage Manager Console
I memilih yang benarDefault project
, itu masih melihat file web.config dari proyek startup itu, di mana string koneksi tidak ada.sumber
Pastikan string koneksi Anda dalam format ini:
Jika string Anda tidak memiliki
server
tag maka metode akan kembali dengan kesalahan ini.sumber
Saya memiliki masalah yang sama. Situs lokal berjalan dengan baik, tetapi pada biru langit itu akan gagal dengan pesan di atas.
Ternyata masalahnya adalah mengatur connectionstring di ctor, seperti ini:
Tidak berfungsi, ini akan:
Mengalahkan saya ..
sumber
Periksa string koneksi Anda seperti saya lupa menambahkan
services.AddDbContext<dbsContext>(options => options.UseSqlServer("Default"));
Itu menyebabkan kesalahan dan di sini ketika saya menambahkan
Configuration.GetConnectionString
, maka itu memecahkan masalahseperti sekarang koneksinya adalah:
berfungsi dengan baik (Masalah ini dipecahkan untuk .net core)
sumber
Merujuk jalur sp lengkap menyelesaikan masalah ini untuk saya:
sumber
Saya memecahkan ini dengan mengubah string koneksi pada pengaturan mempublikasikan ASP.NET Web Api saya.
Periksa jawaban saya di posting ini: Cara memperbaiki kesalahan :: Format string inisialisasi tidak sesuai dengan spesifikasi mulai dari indeks 0 ::
sumber
Saya memiliki kesalahan yang sama. Dalam kasus saya, ini karena saya tidak memiliki kutipan penutup untuk kata sandi dalam string koneksi.
Berubah dari ini
Untuk
sumber
Ini juga terjadi ketika Anda menyalin halaman web dari satu solusi ke yang lain, kemudian Anda menjalankan solusi Anda dan mengetahui bahwa ia memiliki nama string koneksi yang berbeda di webconfig. Kemudian Anda dengan sembarangan mengubah nama string koneksi di panel properti di tampilan desain halaman.
Lebih baik hanya mengubahnya di bagian kode daripada desain.
sumber
Masalah saya adalah saya menambahkan kode logging basis data ke konstruktor saya untuk objek DB, dan ini tampaknya menyebabkan kekacauan pada profil penyebaran biru saya.
FYI - Saya menyederhanakan contoh ini, dalam kode asli ini dimatikan dalam produksi (tetapi masih dalam kode)
sumber
Saya telah salah ketik dalam string koneksi saya "Database == PESitecore1_master"
sumber
Saya memiliki masalah yang sama dan akhirnya saya berhasil menyelesaikannya dengan cara berikut:
Masalahnya ada pada definisi string koneksi di web.config saya.
Di atas berfungsi sempurna secara lokal karena saya menggunakan Database lokal ketika saya mengelola pengguna dan peran. Ketika saya mentransfer aplikasi saya ke IIS, DB lokal tidak lagi dapat diakses, selain itu saya ingin menggunakan DB saya di SQL Server. Jadi saya mengubah string koneksi di atas yang setara dengan SQL Server DB:
CATATAN: Di atas, juga, anggaplah bahwa Anda akan menggunakan SQL Server yang sama dari kotak lokal Anda (jika Anda memasukkannya ke web.config lokal Anda - itulah yang persis saya lakukan dalam kasus saya).
sumber
Saya memiliki masalah yang sama, datang untuk mengetahui bahwa penyebaran ke IIS tidak mengatur string koneksi dengan benar. mereka adalah '$ (ReplacableToken_devConnection-Web.config Connection String_0)' saat melihat string koneksi situs di IIS, alih-alih string koneksi yang sebenarnya. Saya memperbarui mereka di sana, dan semua berfungsi seperti yang diharapkan
sumber
Saya menyalin dan menempel konfigurasi string koneksi saya ke proyek pengujian saya dan mulai mengalami kesalahan ini. String koneksi berfungsi dengan baik di proyek WebAPI saya. Ini perbaikan saya.
sumber
Saya menghapus & quot pada akhir string koneksi dan berhasil
Dari pada
Bekas
Tetapkan DefaultConnection seperti di bawah ini
sumber
Masalah saya bukanlah bahwa string koneksi yang saya berikan salah, atau bahwa string koneksi di app.config yang saya pikir saya gunakan salah, tetapi bahwa saya menggunakan app.config yang salah.
sumber
Terkadang layanan Sql Server belum dimulai. Ini dapat menghasilkan kesalahan. Pergi ke Layanan dan mulai Sql Server. Ini harus membuatnya bekerja.
sumber
Untuk satu jiwa malang lainnya yang mengelola aplikasi bentuk web lawas yang menggunakan sqldatasource inline, bersama dengan string koneksi yang disimpan di web.config, maka Anda mungkin mendapatkan kesalahan ini jika Anda mengakses string koneksi Anda seperti <% APSDataConnectionString%> alih-alih < % $ ConnectionStrings: MyConnectionString%>. Ini terjadi pada kami saat memutakhirkan .NET dari 3,5 menjadi 4.x.
sumber
Dalam kasus saya masalahnya adalah pada server, file appsettings.json berbeda digunakan oleh aplikasi.
sumber
Dalam kasus saya, saya mendapat kesalahan serupa:
Pengecualian ditangani oleh aplikasi. System.ArgumentException: Format string inisialisasi tidak sesuai dengan spesifikasi mulai dari indeks 91.
Saya mengubah string koneksi saya dari:
Server = .; Database = dbname; ID Pengguna = myuserid; Kata Sandi = mypassword "
untuk:
Server = .; Database = dbname; ID Pengguna = myuserid; Kata Sandi = 'mypassword' "
dan itu berhasil, saya menambahkan tanda kutip tunggal ke kata sandi.
sumber
Saya memiliki kesalahan ini juga dan dapat menyelesaikannya sebagai berikut: Saya sebelumnya menulis connectionstring ke appsettings.json menjadi bagian yang saya buat (ConnectionsStrings (perhatikan "s" ekstra) dan mencoba untuk terhubung ke database saya yang menyebabkan kesalahan. Itu adalah aplikasi ASP.NET CORE dan jadi saya ingin menyambungkannya dengan .GetConnectionString Method (perinciannya di sini ). Tampaknya metode ini secara implisit mencari sambungan tali pada bagian "ConnectionStrings", yang tidak ada. Ketika saya mengubahnya / mengoreksi ke "ConnectionStrings" itu berfungsi seperti yang diharapkan.
sumber
Seperti yang Saya Ketahui, setiap kali Anda memiliki lebih dari 1 string koneksi dalam solusi Anda (proyek Anda saat ini, proyek startup, ...), Anda mungkin menghadapi kesalahan ini
tautan ini dapat membantu Anda mengklik
sumber