0

我有一个使用 access 数据库的网站,我想更改与 SQL Server DB 的连接,我使用 SQL Server 迁移数据库,但是我必须更改连接代码和 sql 请求。

这是我在代码中的副本(我使用 WebMatrix):

pageConn.asp:

 <% Dim conn,connstr,Clkj_mdb
    Clkj_mdb="/DaTa/#Clkj_Cms#.mdb"
    connstr="DBQ="+server.mappath(""&Clkj_mdb&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
    on error resume next
    set conn=server.createobject("ADODB.CONNECTION")
    conn.open connstr
        if err then
            err.clear
            set conn=nothing
            response.write "Connect Error!"
            response.End         
        End IF
   %>

我也应该在这部分改变一些东西吗?

类.asp:

<% If request.querystring("Edit")="B_E" Then 
    Set Rs=server.createobject("ADODB.Recordset")
    Sql="select * from clkj_BigClass where clkj_BigClassID ="&request("clkj_BigClassID")
    Rs.open Sql,conn,1,1
%>

感谢您的时间!

4

1 回答 1

0

在这种情况下,您不需要对 SQL 进行任何更改,但您需要更改连接字符串。您可以在此处找到示例连接字符串:http ://connectionstrings.com/sql-server-2012

像这样的事情应该这样做:

connstr = "Provider=sqloledb;Data Source=<name of server>;Initial Catalog=<name of database>;User Id=<user id>;Password=<password>"

展望未来,JET SQL (Access) 和 T-SQL (SQL Server) 之间的主要区别是:

您不能在 T-SQL 中的 DELETE 语句中使用 *:在 SQL Server 中DELETE * From MyTable变为。DELETE FROM MyTable

Access 中的 Yes/No 列成为 SQL Server 中的 BIT 字段。True 在 SQL Server 中用 1 表示,而不是在 Access 中用 -1 表示。

如果您在 JET SQL 中使用 # 作为日期的分隔符,则必须在 T-SQL 中将它们更改为单引号 '。

于 2013-04-29T11:18:49.260 回答