谁能给我一些示例源代码,显示如何从JavaScript本地连接到SQL Server 2005数据库?我正在我的桌面上学习网络编程。

或者我需要使用其他脚本语言吗?建议一些替代方案,如果你有,但我现在试图用JavaScript做到这一点。我的SQL Server是本地安装在我的桌面- SQL Server Management Studio 2005和IE7浏览器。


当前回答

一个完美的工作代码..

    <script>
    var objConnection = new ActiveXObject("adodb.connection");
    var strConn = "driver={sql server};server=QITBLRQIPL030;database=adventureworks;uid=sa;password=12345";
    objConnection.Open(strConn);
    var rs = new ActiveXObject("ADODB.Recordset");
    var strQuery = "SELECT * FROM  Person.Address";
    rs.Open(strQuery, objConnection);
    rs.MoveFirst();
    while (!rs.EOF) {
        document.write(rs.fields(0) + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
        document.write(rs.fields(1) + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");
        document.write(rs.fields(2) + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    ");
        document.write(rs.fields(3) + "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;    ");
        document.write(rs.fields(4) + "<br/>");
        rs.movenext();
    }
</script>

其他回答

如前所述,它不应该使用客户端Javascript完成,但有一个框架可以更安全地实现您想要的东西。

Nodejs是一个框架,允许你用javascript编写服务器连接,所以看看Nodejs,你可能会学到更多关于与数据库通信和获取你需要的数据。

在一个HTA中玩JavaScript,我没有幸运的驱动程序={SQL Server};…连接字符串,但命名的DSN是可以的: 我设置TestDSN,它测试OK,然后var strConn= "DSN=TestDSN";工作,所以我继续实验,我的内部测试和学习的目的。

我们的服务器有几个实例正在运行,例如server1\dev和server1\Test,这使得事情稍微有点棘手,因为我设法浪费一些时间忘记转义\ as \\:) 在连接字符串中的server=server1;instanceName=dev的一些死胡同之后,我最终得到了这个工作: var strConn= "Provider=SQLOLEDB;数据源=server1\\dev;Trusted_Connection=Yes;初始目录=MyDatabase;"

使用Windows凭证而不是提供user/pwd,我发现一个有趣的转移是发现集成安全性= true v集成安全性= SSPI v Trusted_Connection=Yes的微妙之处-参见集成安全性= true和集成安全性= SSPI之间的区别

注意,如果使用默认的adOpenForwardOnly类型,RecordCount将返回为-1。如果你正在处理小的结果集和/或不介意内存中的所有内容,请使用rs.Open(strQuery, objConnection, 3);(3=adOpenStatic),这将给出一个有效的rs.RecordCount

Web服务

SQL 2005+支持你几乎可以使用的本地WebServices,尽管我不建议这样做,因为你可能会面临安全风险。为什么我说几乎。Javascript不是SOAP原生的,所以实际制作它会更复杂一些。您必须通过XmlHttpRequest发送和接收SOAP。检查谷歌是否有Javascript SOAP客户机。

http://msdn.microsoft.com/en-us/library/ms345123.aspx - SQL本地WebServices http://www.google.com/search?q=javascript+soap -谷歌结果Javascript SOAP客户端

我不认为你可以从客户端javascript连接到SQL服务器。你需要选择一些服务器端语言来构建web应用程序,它可以与你的数据库交互,使用javascript只是为了让你的用户界面更好地交互。

您可以根据自己的语言偏好选择任何服务器端脚本语言:

PHP ASP。网 Ruby On Rails

这将是非常糟糕的做法,因为共享你的连接字符串会让你的网站面临如此多的漏洞,你不能简单地修补,如果你想让它更安全,你必须使用不同的方法。否则,你就是在向大量的用户开放,让他们利用你的网站。