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

王朝mssql·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

使用一个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:ConnectionStringProvider=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:CommandTypeTable</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:ConnectionStringProvider=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:CommandTypeTable</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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航