Comment faire pour se connecter à la base de données SQL Server à partir de JavaScript dans le navigateur?
Quelqu'un peut-il me donner des exemples de code source montrant comment se connecter à un Serveur SQL server 2005 de la base de données à partir de JavaScript localement? Je suis en train d'apprendre la programmation web sur mon bureau.
Ou dois-je utiliser n'importe quel autre langage de script? Propose des solutions si vous en avez, mais je suis maintenant en train de le faire avec JavaScript. Mon SQL Server est installé en local sur mon ordinateur de bureau — SQL Server Management Studio 2005 et IE7 navigateur.
- Certainement pas recommandé de le faire, mais il est agréable de voir quelles réponses peut en sortir.
- Je suis à la recherche pour vous connecter à une base de données de Node.JS (mise en œuvre de javascript côté Serveur) et je suis arrivé ici. Quelqu'un sait où je dois aller pour cela?
- Il y a de nœud de postgres et noeud-mysql.
- Réel est-il libre de base de données que vous pouvez utiliser?
- Vous pourriez écrire un REPOS backend à l'aide de Node.js et de JavaScript et de l'interfacer avec vous côté client en JavaScript.
- question connexe: stackoverflow.com/questions/42133663/...
Vous devez vous connecter pour publier un commentaire.
Vous ne devriez pas utiliser le client javascript pour accéder à des bases de données pour plusieurs raisons (mauvaise pratique, les questions de sécurité, etc), mais si vous voulez vraiment pour ce faire, voici un exemple:
Une meilleure façon de se connecter à un serveur sql server serait d'utiliser un serveur langage de programmation comme PHP, Java, .NET, entre autres. Client javascript doit être utilisé uniquement pour les interfaces.
Et il ya des rumeurs d'une ancienne légende de l'existence de serveur en javascript, mais ceci est une autre histoire. 😉
.MoveFirst
,.movenext
, et.close
aurait besoin()
après leur travail, et ils sont vraiment sensible à la casse en JS?Ce serait vraiment mauvais de le faire, parce que le partage de votre chaîne de connexion s'ouvre votre site à de nombreuses vulnérabilités que vous ne pouvez pas simplement le patch, vous devez utiliser une autre méthode si vous voulez qu'il soit sécurisé. Sinon, à vous ouvrir à un large public de profiter de votre site.
Services Web
SQL 2005+ prend en charge les Services web que vous pourriez presque utilisation bien que je ne dirais pas cela, en raison des risques de sécurité que vous pouvez faire face. Pourquoi ai-je dis presque. Bien le Javascript n'est pas de SAVON indigène, de sorte qu'il serait un peu plus compliqué de le faire réellement. Vous auriez d'envoyer et de recevoir du SAVON via
XmlHttpRequest
. Vérifiez google pour Javascript SAVON clients.Parfait état de fonctionnement code..
Jouer avec JavaScript dans une HTA, je n'avais aucune chance avec un
driver={SQL Server};...
chaîne de connexion, mais un nom de DSN était OK :J'ai configuré TestDSN et il a testé OK, puis
var strConn= "DSN=TestDSN";
travaillé, donc j'ai continué à expérimenter pour mes tests en interne et à des fins de formation.Notre serveur dispose de plusieurs instances en cours d'exécution, par exemple serveur1\dev et serveur1\Test ce qui rendait les choses un peu plus difficiles que j'ai réussi à perdre quelques fois d'oublier de s'échapper de la
\
comme\\
🙂Après quelques culs-de-sac avec
server=server1;instanceName=dev
dans les chaînes de connexion, finalement, j'ai eu cette personne pour le travail :var strConn= "Provider=SQLOLEDB;Data Source=server1\\dev;Trusted_Connection=Yes;Initial Catalog=MyDatabase;"
À l'aide des informations d'identification Windows plutôt que de fournir un user/pwd, j'ai trouvé un intéressant détournement a été de découvrir les subtilités de
Integrated Security = true
vIntegrated Security = SSPI
vTrusted_Connection=Yes
- voir Différence entre Integrated Security = True et Integrated Security = SSPIMéfiez-vous que RecordCount reviendra comme
-1
si vous utilisez la valeur par défaut adOpenForwardOnly type. Si vous travaillez avec de petits ensembles de résultats et/ou n'avez pas l'esprit de l'ensemble du lot en mémoire à la fois, utilisezrs.Open(strQuery, objConnection, 3);
(3=adOpenStatic) et cela donne un validers.RecordCount
Comme mentionné avant, il ne devrait pas être fait à l'aide de code Javascript coté client mais il y a un cadre pour la mise en œuvre de ce que vous voulez de manière plus sécurisée.
Nodejs est un framework qui vous permet de vous code de connexions au serveur en javascript donc un coup d'oeil dans Nodejs et vous aurez probablement apprendre un peu plus sur la communication avec les bases de données et en saisissant les données dont vous avez besoin.
(désolé, c'était plus générique réponse sur SQL backends--je n'avais pas lu la réponse sur SQL Server 2005 WebServices fonctionnalité. Bien que cette fonctionnalité est encore exécuter sur HTTP plutôt que plus directement via les sockets, donc, essentiellement, ils ont construit un mini serveur web dans le serveur de base de données, de sorte que cette réponse est encore un autre chemin que vous pouvez prendre.)
Vous pouvez également vous connecter directement à l'aide de sockets (google "javascript sockets") et par directement à ce point, je veux dire à l'aide d'un fichier Flash à cette fin, bien que HTML5 a les Web Sockets dans le cadre de la spécification qui, je crois, pour vous permettre de faire la même chose.
Certaines personnes citent les problèmes de sécurité, mais si vous avez conçu votre base de données des autorisations correctement, on doit théoriquement être en mesure d'accéder à la base de données à partir de n'importe quelle fin, y compris OSQL, et pas une violation de la sécurité. La question de la sécurité, alors, serait si vous n'avez pas de connexion via SSL.
Enfin, si, je suis sûr que tout ceci est théorique parce que je ne crois pas que le JavaScript il existe des librairies pour la manipulation des protocoles de communication pour le protocole SSL ou SQL Server, de sorte que si vous êtes prêt à comprendre ces choses vous-même, il serait mieux d'aller l'itinéraire d'avoir un serveur web et le serveur langage de script côté entre le navigateur et la base de données.
Je ne pense pas que vous pouvez vous connecter à SQL server à partir du côté client javascript. Vous avez besoin de ramasser quelques côté serveur de la langue pour créer des applications web qui peuvent interagir avec votre base de données et l'utilisation de javascript que pour faire de votre interface utilisateur de mieux interagir avec.
vous pouvez ramasser tout côté serveur langage de script basé sur la langue de votre choix :