首先是把要过来的oracle备份的dmp文件处理好,要来EXP导出时候的用户名和密码,以及LOG日志文件。
其次安装oracle数据环境,和我的SQL数据库在一个机器上,呵呵,这样好办多了。数据库是ORACLE9i版本的,而现在找到的是ORACLE10G,经过询问得知,完全可以兼容。开始安装ORACLE10g了。要记住每一个数据的记录。首先orc默认的全局数据库密码要记住,我设置的是orcl,并且记住其他几个帐号都是这个密码了。然后安装结束。把安装以后的文件复制出来放好。在里面会找到,数据管理的“:5500/em”端口的网址。记住这个有用啊。下面开始熟悉ORACLE的方方面面了,接着开始到数据库了。
第三、先建立一个用户名,名称最好和提供DMP备份的名称一样,密码也一样。这样会省很多事的。开始WINDOWS下运行CMD:
C:>imp username/userpassword@orcl file=d:/userdmp ignore=y rows=y full=y
开始执行导入 *** 作。时间很长,那么USERDMP数据库就被恢复过来了。
现在我们我们已经把ORACLE的备份数据恢复过来了。ORACLE里面有我们需要的数据了,我们如何把这些数据导入到SQL server里呢。这时候就要用到SQL转移工具DTS了………
打开企业管理器,在要导入的数据库出按下右键,所有任务里选择导入数据选择数据,进入数据转换导入导出向导。下一步我们选择数据源为Microsoft OLE Provider for oracle 选择属性因为是本机所以服务器名称不比输入了,用户名我们输入ORACLE我们需要的数据库的用户名和密码。测试一下连接,正常连接以后选择确定,就可以选择(勾选)我们需要的这个数据库里的表了。这样,oracle中的表就导入到SQL里面了。我们就可以用SQL来 *** 作数据了。
WINCC
作为一个工控软件,有着工控软件的一系列特征:能显示实时数据,历史数据,生
成实时数据曲线与历史数据曲线,
并能生成报表。
然而
WINCC
与其它的工控软件包有不同
的地方:
它的数据是保存在标准的及功能强大的
Sybase SQL Anywhere
数据库中
,
所以,
我们
可以像访问一般的数据库一样,通过
ODBC
直接访问
WINCC
的历史数据库。
一、
通过
Sybase Central 40
访问显示数据
Wincc
在安装时就把
Sysbase
数据引擎与
Sybase
Central
40
一同安装到系统中,你可以在
Program
Files\Sybase\Shared\
中找到
Sybase
Central
40
,你可在在其目录下
\java\
中发
现
scjviewexe
,该程序功能相当于
SQL
server
的企业管理器。你可以通过其查看你在
WinCC
中的归档数据。
使用方法:
1)
运行
WINCC
,这时
WINCC
会在
ODBC
中添加两条数据源:
CC_FY_02-10-16_10:40:18
CC_FY_02-10-16_10:40:18R
其中
CC_FY_02-10-16_10:40:18R
是可以通过
Sybase
Central
40
及别的一些工具不用
用户名与密码读取的。这就是我们
WinCC
的历史数据库。
注意:这两条
ODBC
名不是一成不变的,它是结构如下
CC_FY_02-10-16_10:40:18R
CC
:
固有的,指明是
WinCC
生成的
ODBC
。
FY
:
项目名,这是我这个
WinCC
项目名称
02-10-16
:最后一次修改的日期。
10:40:18
:最后一次修改的时间。
R
:
表示是运行库。
2
)
、运行
scjviewexe
,点击
Adaptive
Server
AnyWhere
7
按右键,选择
Connect
。将会d出
Connect
配置界面。
在
Identification
的页面,选中
ODBC SOURCE NAME
点
BROWSE
则会列出所有对
Sybase
数据引擎的
ODBC
名,选择
CC_FY_02-10-16_10:40:18R
,点击“
OK
“、
“
OK
“即可。
这时在
Adaptive Server AnyWhere 7
下面会出现你的计算机名,并已连通了你的
WINCC
历
史数据库。
好了,我们现在可以查看
WinCC
的历史数据了。
展开:
Adaptive Server AnyWhere 7
(
DBA
)
展开:
TABLE
我们现在可以看到数据库的表名与表结构了:
表名:
PDE#HQZ#GAS_PRE
组成方式如下
PDE
:固有
HQZ
:归档名称
GAS_PRE:
变量名。
表结构:有三个字段:
T, V
, F
T
:时间
V
:值
F
:标志
由于没有可靠的资料可查,其
F
的名值表示的含义就不得而知,不过,在我的使用中,我
将
F
值
8392705
作为一个合法值,
在
WINCC
的处理中没有出过错,
但别的
FLAG
值的含义,
只能问西门子公司了。
二、
利用
VB
编写程序访问
WINCC
历史数据库。
上面已明确描述了
WINCC
的历史数据库的结构组成与表结构,
那么我们就可以通过编程访
问
WINCC
的历史数据库。如其它通过
ODBC
访问的数据一样。如下面的小例子
在
VB
中,先引用
ADO
组件。并声明
ADO
变量。
Private cn As ADODBConnection
Private rs As ADODBRecordset
Const dsn = “CC_FY_02
-10-
16_10:40:18R”
Private sub insertData(nowV
alue as double)
Dim nowtime as string
Nowtime =now
cnOpen dsn, "", ""
sqlstr=”
insert
into
PDE#HQZ#GAS_PRE(T,V
,F)
V
alues(„”+
Nowtime
+”‟,”+
nowV
alue
+”,
8392705) ”
cnExecute sqlstr
cnclose
End sub
本程序中的子程序只处理了数据插入,其它读出就更为简单,与其它的
ADO
访问是一模一
样的,这里就不多说了。
三、
结语
能通过
ODBC
访问
WINCC
的历史数据,给我们提供了更多了解决办法,特别是在企业信
息化平台上使用非实时数据方面,可以人为给
WINCC
添加正确的历史数据,使
WINCC
的
功能更为强大。
由于
ODBC
名与项目的修改时间有关,所以在项目频繁变化时,请不要使用这个功能。
WinCC
在启动时自动添加
ODBC
名,在关闭时自动删除,所以,在
WINCC
关闭后,不能
再通过
ODBC
访问
ODBC
。
如果下列文件:
"<Project_name>RTmdf",
"<Project_name>RTldf",
"<Project_name>mdf" ,
"<Project_name>ldf"
不在项目目录,或损坏,或不能访问时,WinCC V6x中将出现该出错消息。
可能原因是:
1、拷贝项目时出错。
不能拷贝重要文件,因为在拷贝时刻这些文件正在使用中。
应该使用项目复制器Project Duplicator拷贝项目。
2、SQL服务器的安全模式已更改。
已将SQL服务器的安全模式从“Mixed Mode”切换为“Windows Authentication Only”模式。
3、计算机名称已更改。
当安装完WinCC,并第一次调用SQL服务器之后,用户不应再次更改计算机名称。若仍要更改计算机名称,则必须重新安装SQL服务器。
4、在项目目录的路径名称中有非法字符(特殊字符)。
5、当前用户没有足够的授权。
当前WinCC项目版本已更改。
当前Windows用户不属于SIMATIC HMI组。
6、IP地址已更改
SIMATIC Shell中的IP地址不正确
以上就是关于WINCC与Sqlserver数据交换全部的内容,包括:WINCC与Sqlserver数据交换、如何利用ODBC访问WINCC的历史数据库、wincc项目打不开问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)