任何人都可以给我一些示例源代码,展示如何从本地JavaScript连接到SQL Server 2005数据库?我在桌面上学习网络编程.
或者我是否需要使用任何其他脚本语言?如果你有它们,建议一些替代方案,但我现在尝试使用JavaScript.我的SQL Server本地安装在我的桌面上 - SQL Server Management Studio 2005和IE7浏览器.
由于多种原因(不良做法,安全问题等),您不应该使用客户端javascript来访问数据库,但如果您真的想这样做,请举例说明:
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;
连接到SQL服务器的更好方法是使用一些服务器端语言,如PHP,Java,.NET等.客户端javascript应仅用于接口.
有传言说有关服务器javascript存在的古老传说,但这是另一个故事.;)
这样做真的很糟糕,因为共享你的连接字符串会打开你的网站到很多你不能简单修补的漏洞,如果你想要它是安全的,你必须使用不同的方法.否则,您将向大量受众开放,以利用您的网站.
完美的工作代码..
SQL 2005+支持您几乎可以使用的本机Web服务,尽管我不建议使用它,因为您可能面临安全风险.为什么我差点说.好吧Javascript不是SOAP原生的,所以实际制作它会有点复杂.您必须通过发送和接收SOAP XmlHttpRequest
.检查谷歌的Javascript SOAP客户端.
http://msdn.microsoft.com/en-us/library/ms345123.aspx - SQL本机Web服务
http://www.google.com/search?q=javascript+soap - Javascript SOAP客户端的Google搜索结果
在HTA中使用JavaScript玩游戏时,我对driver={SQL Server};...
连接字符串不满意,但是命名为DSN没问题:
我设置了TestDSN并对其进行了测试,然后var strConn= "DSN=TestDSN";
工作了,因此我进行了内部测试和学习目的的实验。
我们的服务器有几个正在运行的实例,例如server1 \ dev和server1 \ Test,这使事情变得有些棘手,因为我设法浪费了一些时间来忘记转义\
as \\
:)
在server=server1;instanceName=dev
连接字符串中出现一些死胡同之后,我最终得到了这个一个工作:
var strConn= "Provider=SQLOLEDB;Data Source=server1\\dev;Trusted_Connection=Yes;Initial Catalog=MyDatabase;"
使用Windows凭据而不是提供用户/密码,我发现一个有趣的转移是发现Integrated Security = true
v Integrated Security = SSPI
v 的微妙之处Trusted_Connection=Yes
-请参阅Integrated Security = True和Integrated Security = SSPI之间的区别
请注意,RecordCount会像-1
使用默认的adOpenForwardOnly类型一样返回。如果您正在处理小的结果集和/或不介意一次存储全部内存,请使用rs.Open(strQuery, objConnection, 3);
(3 = adOpenStatic),这样可以提供一个有效的rs.RecordCount