我有一个使用访问数据库的网站,我想更改与SQL Server数据库的连接,我用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
%>
我是否应该改变这部分的内容?
Class.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
%>
感谢您的时间!
答案 0 :(得分: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语句中使用*:DELETE * From MyTable
在SQL Server中变为DELETE FROM MyTable
。
是/否列中的列成为SQL Server中的BIT字段。 True在SQL Server中表示为1,而在Access中表示为-1。
如果您在JET SQL中使用#作为分隔符来表示日期,则必须将它们更改为单引号&#39;在T-SQL中。