wincc与SQL数据库交换数据

来源:百度知道 编辑:UC知道 时间:2024/05/21 22:16:11
查了一下午资料 这是我写的VBS程序 用来写数据到SQL数据库 程序还是不能正常运行 到cn.open语句时停止 请各位高手指点一下 万分感谢 Dim strcn,cn,a,b,c
Dim is_SQL,rscom
Set cn=CreateObject("ADODB.Connection")
Set rscom=CreateObject("ADODB.Recordset")
a=HMIRuntime.Tags("text").Read
b=HMIRuntime.Tags("text1").Read
c=HMIRuntime.Tags("text2").Read strcn="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=banpi;Data Source=123\wincc"
'banpi是在SQL数据库建立的database,123是wincc中建立的项目 cn.ConnectionString=strcn
is_SQL ="insert into panpi(yuanliao,chang,kuan) Values('"&a&"','"&b&"','"&c&"')"
'panpi是banpi数据库下的一个table
cn.open
'测试时 程序到这里不往下走 应该是连接SQL数据库出错了吧 cn.Execute is_SQL
cn.close

黑客SQL服务器入侵实战演习(二)

3.1为什么使用的是' or 1=1--呢?

让我们来看看其他例子中使用'or 1=1--的重要性吧。有别于正常的登陆方式,使用这样的登陆方式可能得到正常登陆中不能得到的某些特殊信息。用一个链接中得到的ASP页来打比方:

http://duck/index.asp?category=food

在上面这条URL中,'category'是一个变量名,而'food'是赋予该变量的值。为了做到这些(链接成功),

这个ASP必须包含以下相关的代码(下面也是我们为了演示这个实验所写的代码):

v_cat = request("category)

& v_cat & "'

set rs=conn.execute(sqlstr)

正如我们所看到的,变量值将会预先处理然后赋值于'v_cat',也就是说该SQL语句将会变为:

SELECT * FROM product WHERE PCategory='food'

这个请求将会返回通过WHERE条件比较后得到的结果,在这个例子中也就是'food'了。现在设想一下如果

我们把该URL改成这样的话:

http://duck/index.asp?category=food' or 1=1--