使用"ODC"文档在IE中直接连接SQL数据库


使用一个ODC文档可以很轻松在IE浏览器中连接到SQL SERVER数据库的表,ODC文档示例如下:

<html>
<head>
<meta http-equiv=Content-Type content="text/x-ms-odc; charset=utf-8">
<meta name=ProgId content=ODC.Table>
<meta name=SourceType content=OLEDB>
<meta name=Catalog content=K0712>
<meta name=Schema content=dbo>
<meta name=Table content="T_Material">
<xml id=docprops></xml><xml id=msodc><odc:OfficeDataConnection
xmlns:odc="urn:schemas-microsoft-com:office:odc"
xmlns="http://www.w3.org/TR/REC-html40">
<odc:Connection odc:Type="OLEDB">
<odc:ConnectionString>
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist
Security Info=True;Data Source=develop;
Use Procedure for Prepare=1;Auto Translate=True;Packet
Size=4096;Workstation ID=DEVELOP;
Use Encryption for Data=False;Tag with column
collation when possible=False;Initial
Catalog=K0712</odc:ConnectionString>
<odc:CommandType>Table</odc:CommandType>
<odc:CommandText>"K0712"."
dbo"."ICInventory"</odc:CommandText>
</odc:Connection>
</odc:OfficeDataConnection>
</xml>
<style>
<!--
.ODCDataSource
{
behavior: url(dataconn.htc);
}
-->
</style>
</head>
<body onload='init()' scroll=no leftmargin=0
topmargin=0 rightmargin=0 style='border:
0px'>
<table style='border: solid 1px threedface;
height: 100%; width: 100%' cellpadding=0
cellspacing=0 width='100%'>
<tr>
<td id=tdName style='font-family:arial;
font-size:medium; padding: 3px;
background-color: threedface'>
</td>
<td id=tdTableDropdown style='padding:
3px; background-color: threedface;
vertical-align: top; padding-bottom: 3px'>
</td>
</tr>
<tr>
<td id=tdDesc colspan='2'
style='border-bottom: 1px threedshadow solid;
font-family: Arial; font-size:
1pt; padding: 2px; background-color: threedface'>
</td>
</tr>
<tr>
<td colspan='2' style='height: 100%;
padding-bottom: 4px; border-top: 1px
threedhighlight solid;'>
<div id='pt' style='height: 100%'
class='ODCDataSource'></div>
</td>
</tr>
</table>
<script language='javascript'>
function init() {
var sName, sDescription;
var i, j;
try {
sName = unescape(location.href)
i = sName.lastIndexOf(".")
if (i>=0) { sName = sName.substring(1, i); }
i = sName.lastIndexOf("/")
if (i>=0) { sName = sName.substring(i+1, sName.length); }
document.title = sName;
document.getElementById("tdName").innerText = sName;
sDescription = document.getElementById("docprops").innerHTML;
i = sDescription.indexOf("escription>")
if (i>=0) { j = sDescription.indexOf("escription>", i + 11);
}
if (i>=0 && j >= 0) {
j = sDescription.lastIndexOf("</", j);
if (j>=0) {
sDescription = sDescription.substring(i+11, j);
if (sDescription != "") {
document.getElementById("tdDesc").style.fontSize="x-small";
document.getElementById("tdDesc").innerHTML = sDescription;
}
}
}
}
catch(e) {
}
}
</script>
</body>
</html>

这样,可以很方便的在Web页面上显示数据表了。  

  会Web编程的都知道其实是一个HTML文本,采用Javascript来初始化窗口布局,加粗的部分是数据连接的关键部分,如下所示:

<odc:ConnectionString>Provider=SQLOLEDB.1;Integrated
Security=SSPI;Persist
Security Info=True;Data Source=develop;
Use Procedure for Prepare=1;Auto Translate=True;Packet
Size=4096;Workstation ID=DEVELOP;
Use Encryption for Data=False;Tag with column
collation when possible=False;Initial
Catalog=K0712</odc:ConnectionString>
<odc:CommandType>Table</odc:CommandType>
<odc:CommandText>"K0712"."
dbo"."ICInventory"</odc:CommandText>

  其中,odc:ConnectionString是数据库连接串,使用和ADO一样的格式,不用多说了吧J;odc:CommandType是查询类型,Table是表查询,SQL是标准SQL语句查询;odc:CommandText是查询命令文本,如果是Table类型的,就只要写出表名称就可以了,如master.dbo.sysobjects,如果是SQL类型的话,就是一般的SQL语句,如:

SELECT t0.*FROM ICStockBill t0 INNER
JOIN ICStockBillEntry t1 ON t0.
FStockBillID=t1.FstockBillID ORDER BY t0.FStockBillID



相关阅读:
asp.net datalist 用法
UCenter Home站点添加统计代码
VBS教程:VBScript 语句-Set 语句
PHP新手上路(八) 文件上传
PHP MSSQL 存储过程的方法
PHP教程:基于正则表达式替换的模板引擎
Win server 2003的基本优化设置
jquery中获得$.ajax()事件返回的值并添加事件的方法
oracle中将字典管理表空间转换为本地管理表空间
使用PHP和XSL stylesheets转换XML文档
VBScript压缩单个文件为zip格式
asp 延时 页面延迟的三种方法
vbs实现的定时关机、重启的脚本和程序
ASP实例教程:用户信息和服务器
快速导航

Copyright © 2016 phpStudy |