Adakah yang bisa memberi saya beberapa kode sumber sampel yang menunjukkan cara terhubung ke database SQL Server 2005 dari JavaScript secara lokal? Saya belajar pemrograman web di desktop saya.
Atau apakah saya perlu menggunakan bahasa skrip lain? Sarankan beberapa alternatif jika Anda memilikinya, tetapi saya sekarang mencoba melakukannya dengan JavaScript. SQL Server saya diinstal secara lokal di desktop saya - SQL Server Management Studio 2005 dan browser IE7.
javascript
sql-server
database-connection
Nikmati pengkodean
sumber
sumber
Jawaban:
Anda tidak boleh menggunakan javascript klien untuk mengakses database karena beberapa alasan (praktik buruk, masalah keamanan, dll.) Tetapi jika Anda benar-benar ingin melakukan ini, berikut ini sebuah contoh:
Cara yang lebih baik untuk terhubung ke server sql adalah dengan menggunakan beberapa bahasa sisi server seperti PHP, Java, .NET, antara lain. Klien javascript harus digunakan hanya untuk antarmuka.
Dan ada desas-desus tentang legenda kuno tentang keberadaan server javascript, tetapi ini adalah cerita lain. ;)
sumber
Ini akan sangat buruk untuk dilakukan karena berbagi string koneksi Anda membuka situs web Anda untuk begitu banyak kerentanan sehingga Anda tidak dapat dengan mudah menambal, Anda harus menggunakan metode yang berbeda jika Anda ingin aman. Kalau tidak, Anda membuka audiens yang besar untuk memanfaatkan situs Anda.
sumber
Kode kerja yang sempurna ..
sumber
Layanan web
SQL 2005+ mendukung layanan Web asli yang hampir dapat Anda gunakan walaupun saya tidak akan menyarankannya, karena risiko keamanan yang mungkin Anda hadapi. Kenapa aku hampir berkata . Yah Javascript bukan SOAP asli, jadi akan sedikit lebih rumit untuk membuatnya. Anda harus mengirim dan menerima sabun melalui
XmlHttpRequest
. Periksa google untuk klien SOAP Javascript.sumber
Bermain dengan JavaScript dalam HTA Saya tidak beruntung dengan
driver={SQL Server};...
string koneksi, tetapi DSN yang bernama OK:saya mengatur TestDSN dan diuji OK, dan kemudian
var strConn= "DSN=TestDSN";
berhasil, jadi saya terus bereksperimen untuk pengujian di rumah dan tujuan pembelajaran.Server kami memiliki beberapa contoh berjalan, misalnya server1 \ dev dan server1 \ Test yang membuat hal-hal sedikit lebih rumit karena saya berhasil membuang-buang waktu lupa untuk melarikan diri
\
sebagai\\
:)Setelah beberapa buntu dengan
server=server1;instanceName=dev
di koneksi string, saya akhirnya punya ini satu untuk bekerja:var strConn= "Provider=SQLOLEDB;Data Source=server1\\dev;Trusted_Connection=Yes;Initial Catalog=MyDatabase;"
Menggunakan kredensial Windows daripada memasok pengguna / pwd, saya menemukan pengalihan yang menarik adalah menemukan seluk-beluk
Integrated Security = true
vIntegrated Security = SSPI
vTrusted_Connection=Yes
- lihat Perbedaan antara Keamanan Terpadu = Benar dan Keamanan Terpadu = SSPIBerhati-hatilah bahwa RecordCount akan kembali seolah-
-1
olah menggunakan tipe adOpenForwardOnly default . Jika Anda bekerja dengan set hasil kecil dan / atau tidak keberatan seluruh lot di memori sekaligus, gunakanrs.Open(strQuery, objConnection, 3);
(3 = adOpenStatic) dan ini memberikan validrs.RecordCount
sumber
Seperti yang dinyatakan sebelumnya itu tidak boleh dilakukan menggunakan Javascript sisi klien tetapi ada kerangka kerja untuk menerapkan apa yang Anda inginkan lebih aman.
Nodejs adalah kerangka kerja yang memungkinkan Anda untuk membuat kode koneksi server dalam javascript sehingga melihat Nodejs dan Anda mungkin akan belajar lebih banyak tentang berkomunikasi dengan database dan mengambil data yang Anda butuhkan.
sumber
(maaf, ini adalah jawaban yang lebih umum tentang SQL backends - Saya belum membaca jawaban tentang fitur WebServices SQL Server 2005. Meskipun, fitur ini masih dijalankan melalui HTTP daripada lebih langsung melalui soket, jadi pada dasarnya mereka telah membangun server web mini ke server database, jadi jawaban ini masih merupakan rute lain yang bisa Anda ambil.)
Anda juga dapat terhubung secara langsung menggunakan soket (google "soket javascript") dan secara langsung pada saat ini saya maksudkan menggunakan file Flash untuk tujuan ini, meskipun HTML5 memiliki Soket Web sebagai bagian dari spesifikasi yang saya percaya memungkinkan Anda melakukan hal yang sama.
Beberapa orang mengutip masalah keamanan, tetapi jika Anda merancang izin basis data dengan benar, Anda secara teoritis harus dapat mengakses basis data dari ujung depan apa pun, termasuk OSQL, dan tidak memiliki pelanggaran keamanan. Masalah keamanan, jika Anda tidak terhubung melalui SSL.
Akhirnya, saya cukup yakin ini semua teoretis karena saya tidak percaya ada pustaka JavaScript yang ada untuk menangani protokol komunikasi untuk SSL atau SQL Server, jadi kecuali Anda bersedia untuk memikirkan hal-hal ini sendiri, itu akan menjadi lebih baik untuk pergi rute memiliki server web dan bahasa scripting sisi server di antara browser dan database.
sumber
Saya tidak berpikir Anda dapat terhubung ke SQL server dari javascripts sisi klien. Anda perlu mengambil beberapa bahasa sisi server untuk membangun aplikasi web yang dapat berinteraksi dengan database Anda dan hanya menggunakan javascript untuk membuat antarmuka pengguna Anda lebih baik untuk berinteraksi.
Anda dapat mengambil bahasa skrip sisi server berdasarkan preferensi bahasa Anda:
sumber