Hvordan koble til SQL Server-databasen fra JavaScript i nettleseren?

Er det noen som kan gi meg noen eksempler på kildekode som viser hvordan man kobler til en SQL Server 2005-database fra JavaScript lokalt? Jeg holder på å lære meg webprogrammering på PC-en.

Eller må jeg bruke et annet skriptspråk? Kom gjerne med forslag til alternativer hvis du har noen, men nå prøver jeg å gjøre det med JavaScript. Min SQL Server er installert lokalt på skrivebordet - SQL Server Management Studio 2005 og IE7 nettleser.

Løsning

Du bør ikke bruke klient-javascript for å få tilgang til databaser av flere grunner (dårlig praksis, sikkerhetsproblemer osv.), men hvis du virkelig ønsker å gjøre dette, er her et eksempel:

var connection = new ActiveXObject("ADODB.Connection") ;

var connectionstring="Data Source=;Initial Catalog=;User ID=;Password=;Provider=SQLOLEDB";

connection.Open(connectionstring);
var rs = new ActiveXObject("ADODB.Recordset");

rs.Open("SELECT * FROM table", connection);
rs.MoveFirst
while(!rs.eof)
{
   document.write(rs.fields(1));
   rs.movenext;
}

rs.close;
connection.close; 

En bedre måte å koble seg til en sql-server på er å bruke et serverspråk som PHP, Java, .NET eller lignende. Klient-javascript bør bare brukes til grensesnittene.

Og det går rykter om en gammel legende om eksistensen av server-javascript, men det er en annen historie ;).

Kommentarer (16)

Nettjenester

SQL 2005+ støtter native WebServices som du nesten kan bruke, selv om jeg ikke vil anbefale det på grunn av sikkerhetsrisikoen. Hvorfor sa jeg "nesten"? Javascript er ikke SOAP native, så det ville være litt mer komplisert å lage det. Du må sende og motta SOAP via XmlHttpRequest. Sjekk Google for Javascript SOAP-klienter.

Kommentarer (0)

Jeg tror ikke du kan koble til SQL-serveren fra javascripts på klientsiden. Du må lære deg et serverside-språk for å bygge webapplikasjoner som kan samhandle med databasen, og bruke javascript kun for å gjøre brukergrensesnittet bedre å samhandle med.

Du kan velge hvilket som helst skriptspråk på serversiden basert på hva du foretrekker:

  • PHP
  • ASP.net
  • Ruby On Rails
Kommentarer (2)