在这个画面中共有多个选项按钮,它们分别是:
· “使用网络登录ID的Windows NT验证”:以当前登录Windows NT的帐号登录到数据库系统
· “使用用户输入的登录ID和密码的SQL Server验证”:使用SQL Server内建的帐号登录。
此外,按钮“客户端配置”用以设置客户端在连接到数据库系统时所用的协议类型。以下是进入“客户端配置”之后的设置画面。
至于使用何种帐号的认证方式登录到数据库系统中,这必须由用户自行决定。不过,笔者倒是较偏向于使用SQL Server帐号的认证方式登录数据库系统,这是因为,可能用户的Windows NT在管理上不是十分严谨,使用SQL Server内建帐号较容易限制数据库的操作权限、限制单一帐号所允许使用的数据库操作范围等原因。但在此处,还是请用户使用Windows NT帐号的认证方式登录数据库。
(7)设置DSN所使用的数据库。这里选择在前面章节中所创建的数据库。
(8)单击“下一步”按钮,用户将会见到一些杂项设置。这些设置包括更改SQL Server系统信息的语言、执行字符数据转换等,如下图所示,这些设置可以根据用户个人、系统的需求自行设置。
(9)在单击“完成”按钮之后,系统会将用户设置的信息显示出来,并且提供“测试数据源”。
如果测试的结果如图10-23所示,代表此DSN可以根据用户的需要正常运行。如果是其他的情况,请用户检查是否是数据库名称错误、Windows NT登录帐号错误、客户端连接的协议设置错误或其他原因所导致的错误,总之请用户从头逐项检查,直到问题排除测试成功为止。
(10)单击“确定”,用户会发现系统自动为用户新加入一个“Trade”DSN名称。
以SQL Server作为网页数据库系统,在使用中较为复杂,但是在效率表现方面,用户将会发现SQL Server确实比Access数据库好许多。
10-4 测试ODBC DSN
在前面的小节中,我们完成了ODBC DSN的设置,同时也完成了与SQL Server的联机测试。但是,这仅限于与SQL Server的联机测试、登录帐号检查而已。实际上,对于SQL Server内的数据库是否拥有操作权限,是否允许记录的读取写入等,到目前为止尚未得知。下面,笔者将以ADO对象为基础,并使用ODBC DSN与SQL Server进行连接,同时,将以SQL Query尝试取得Trade数据库“产品基本信息”表中的字段名称,作为ODBC DSN实际测试的验证。
范例程序:EX10-1.asp
程序内容
01: <!-- EX10-1.asp 取出特定表的字段名称 -->
02: <HTML>
03: <HEAD>
04: <
05: <TITLE>EX10-1.asp 取出特定表的字段名称</TITLE>
06: </HEAD>
07: <BODY>
08: <%
09: TableName = "产品基本信息"
10: Set OBJConn = Server.CreateObject("ADODB.Connection")
11: OBJConn.open "Trade", "test" , "test1"
12: SQLstr = "Select * from " & TableName
13: On Error Resume Next
14: Set Rs = OBJConn.Execute(SQLstr)
15: Response.Write "表名:" & TableName & "<BR>"
16: for I=0 to Rs.Fields.Count
17: Response.write "字段名:" & Rs(I).Name & "<BR>"
18: next
19: Set Rs = Nothing
20: Set OBJConn = Nothing
21: %>
22: </BODY>
23: </HTML>
程序说明
第10行:设置OBJConn变量。
第11行:执行对象的连接。在本行中,共有三项参数,分别叙述如下:
· “Trade”:这是在ODBC管理器中所创建的系统数据源名称。
· “test”:在SQL Server中创建的登录帐号。
· “test1”:“test”登录帐号所使用密码。
第12行:设置SQLstr字符串变量。
第14行:设置Rs的内容。
第16行:设置循环变量I值从0开始到字段总数(Rs.Fields.Count)。
第17行:Rs(I).Name代表取出的字段名称。
第19行:将自定义的Rs释放,并且释放此变量所使用的内存。
第20行:将自定义的OBJConn变量释放,同时释放所占用的内存空间。