A. 我用vb写的程序读取wincc归档数据库sql server的数据。一开始能读出,可是重新装系统后不可以。
归档数据库名取决于第一次运行Wincc项目时生成的,因为你的Wincc重新安装过,因此其归档名已经改变,请修改你的VB程序中链接Wincc数据库语句中的归档名。
B. wincc和SQL数据库连接
楼主现在解决了吧,分享一下成果啊
C. 用SQL建立一个本地数据库,然后和WINCC建立连接,然后用VB读取和修改SQL数据库里面内容,最好是实例。
具体操作修改一下连接字符串和sSql里的命令就可以了
Dim sCon
Dim sSql
Dim oRs
Dim conn
Dim oCom
Dim Con
Dim Data1, Data2, Data3
‘读取wincc变量
Data1=HMIRuntime.tags("编号").read
Data2=HMIRuntime.tags("姓名").read
Data3=HMIRuntime.tags("年龄").read
‘连接数据库
Con="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=读写数据库;Data Source=.\WINCC"
Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = Con
conn.CursorLocation = 3
conn.Open
‘写入数据库
sSql="insert into个人信息VALUES('" & Data1 & "','" & Data2&"','"&Data3&"');"
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
Set oCom.ActiveConnection = conn
oCom.CommandType = 1
oCom.CommandText = sSql
Set oRs = oCom.Execute
Set oRs = Nothing
conn.Close
Set conn = Nothing
D. 如何用VB访问Wincc数据库
sPro = "Provider=sqloledb.1;integrated security=sspi persist security info=false;" sDsn = "initial catalog=数据库名;" sSer = "Data Source=计算机名.\WinCC;" sCon = sPro + sDsn + sSer
sSql= "select * from 数据库名"
Set conn = CreateObject("ADODB.Connection") conn.ConnectionString = sCon conn.CursorLocation = 3 conn.Open
Set oRs = CreateObject("ADODB.Recordset") Set oCom = CreateObject("ADODB.Command") oCom.CommandType = 1
Set oCom.ActiveConnection = conn oCom.CommandText = ssql Set oRs = oCom.Execute
E. 如何用vb访问wincc数据库
下载mysql-connector-odbc-5.1.6-win32.msi
第二步:安装mysql-connector-odbc-5.1.6-win32.msi
第三步:运行VB并新建一标准EXE工程, 通过菜单工程->引用 打开”引用”对话框, 找到 MicrosoftActiveX Data Objects x.x Library , 其中 x.x 是版本号, 可能会有很多个, 这里我选择的是2.5
第四步:打开代码窗口, 在 Form_Load 过程中输入下面的代码(具体说明在代码的注释中):
Vb代码
' 定义并创建数据库连接和访问对象
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
' 定义数据库连接字符串变量
Dim strCn As String
' 定义数据库连接参数变量
Dim db_host As String
Dim db_user As String
Dim db_pass As String
Dim db_data As String
' 定义 SQL 语句变量
Dim sql As String
' 初始化数据库连接变量
db_host = "localhost"
db_user = "root"
db_pass = ""
db_data = "erqiuda"
' MySQL ODBC 连接参数
'+------------+---------------------+----------------------------------+
'| 参数名 | 默认值 | 说明 |
'+------------+------------------------------------------------------–+
'| user | ODBC (on Windows) | MySQL 用户名 |
'| server | localhost | MySQL 服务器地址 |
'| database | | 默认连接数据库 |
'| option | 0 | 参数用以指定连接的工作方式 |
'| port | 3306 | 连接端口 |
'| stmt | | 一段声明, 可以在连接数据库后运行 |
'| password | | MySQL 用户密码 |
'| socket | | (略) |
F. 利用WINCC的VB脚本写入变量到自定义的数据库方法
WinCC的VBS虽可以声明Public变量,但作用域仅限于本画面,如下:
如果WinCC版本>=V6.0SP3,则可以使用Dataset对象,该对象可以在不同的VBS脚本中进行访问,下面是个简单的例子:
1、连接
DimobjConnection,strConnectionString
strConnectionString="Driver={SQLServer};Server=.WINCC;uid=;pass=;database=guowincc"
SetobjConnection=CreateObject("ADODB.Connection")
objConnection.ConnectionString=strConnectionString
objConnection.open
HMIRuntime.DataSet.Add"objConnection",objConnection
2、全局动作中引用
DimobjConnection
objConnection=HMIRuntime.DataSet("objConnection").Value
withobjCommand
.ActiveConnection=objConnection
xxxxxxxx
3、关闭连接:
DimobjConnection
objConnection=HMIRuntime.DataSet("objConnection").Value
objConnection.Close
SetobjConnection=Nothing
G. wincc中怎样用VB调用查询SQL里面的归档数据
论坛的精华帖就有详细描述~~~~简单的例子可以参照西门子提供的Demo程序或者参照深入浅出西门子Wincc6一书。Regards
H. vb通过oledb连接wincc归档数据库问题
当重新安装时,项目的RT名已经改变,重新在程式中修正你的RT名。
Wincc的RT名组成:项目名RT激活的日期时间
I. 如何用VB编写client端从wincc的sql server 2000中取数据 急!!!
试着答:如果SQL中的数据表是你自己建的,那你直接可用VB ODBC读取。如果表是wincc自己的,那你需要知道表结构,这个比较难。一种间接的方法:使用OPC,VB读wincc变量,wincc用脚本读取数据库中的变量。