两种,一种用你说的ODBC,一种用OLEDB.ODBC的访问要比OLEDB多执行一步.
微软是提倡用OLDEB来连接数据库.
所以最好用OLEDB
例如:
Dim
Conn
Dim
strConn
strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source="&Server.MapPath("db.mdb")
Set
Conn=Server.CreateObject("ADODB.Connection")
Conn.Open
strConn
2. 如何利用ODBC访问WINCC的历史数据库
WINCC
作为一个工控软件,有着工控软件的一系列特征:能显示实时数据,历史数据,生
成实时数据曲线与历史数据曲线,
并能生成报表。
然而
WINCC
与其它的工控软件包有不同
的地方:
它的数据是保存在标准的及功能强大的
Sybase sql Anywhere
数据库中
,
所以,
我们
可以像访问一般的数据库一样,通过
ODBC
直接访问
WINCC
的历史数据库。
一、
通过
Sybase Central 4.0
访问显示数据
Wincc
在安装时就把
Sysbase
数据引擎与
Sybase
Central
4.0
一同安装到系统中,你可以在
Program
Files\Sybase\Shared\
中找到
Sybase
Central
4.0
,你可在在其目录下
\java\
中发
现
scjview.exe
,该程序功能相当于
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
4.0
及别的一些工具不用
用户名与密码读取的。这就是我们
WinCC
的历史数据库。
注意:这两条
ODBC
名不是一成不变的,它是结构如下
CC_FY_02-10-16_10:40:18R
CC
:
固有的,指明是
WinCC
生成的
ODBC
。
FY
:
项目名,这是我这个
WinCC
项目名称
02-10-16
:最后一次修改的日期。
10:40:18
:最后一次修改的时间。
R
:
表示是运行库。
2
)
、运行
scjview.exe
,点击
Adaptive
Server
AnyWhere
7
按右键,选择
Connect
。将会弹出
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 ADODB.Connection
Private rs As ADODB.Recordset
Const dsn = “CC_FY_02
-10-
16_10:40:18R”
Private sub insertData(nowV
alue as double)
Dim nowtime as string
Nowtime =now
cn.Open dsn, "", ""
sqlstr=”
insert
into
PDE#HQZ#GAS_PRE(T,V
,F)
V
alues(„”+
Nowtime
+”‟,”+
nowV
alue
+”,
8392705) ”
cn.Execute sqlstr
cn.close
End sub
本程序中的子程序只处理了数据插入,其它读出就更为简单,与其它的
ADO
访问是一模一
样的,这里就不多说了。
三、
结语
能通过
ODBC
访问
WINCC
的历史数据,给我们提供了更多了解决办法,特别是在企业信
息化平台上使用非实时数据方面,可以人为给
WINCC
添加正确的历史数据,使
WINCC
的
功能更为强大。
由于
ODBC
名与项目的修改时间有关,所以在项目频繁变化时,请不要使用这个功能。
WinCC
在启动时自动添加
ODBC
名,在关闭时自动删除,所以,在
WINCC
关闭后,不能
再通过
ODBC
访问
ODBC
。
3. 如何使用ODBC来连接ACCESS数据库
作步骤如下:
(1)单击“开始”按钮,选择“程序”→“管理工具”→“数据源(ODBC)”命令,打开“ODBC数据源管理器”对话框,打开“系统DSN”选项卡。
(2)单击“添加”按钮,打开“创建新数据源”对话框,选择安装数据源的驱动程序,这里选择“Microsoft Access Driver (*.mdb)”,如图2.6所示。
选择安装数据源的驱动程序
(3)单击“完成”按钮,打开“ODBC Microsoft Access 安装”对话框,填写“数据源名”及相关“说明”,并指定所要连接数据库的路径,如图2.7所示。
“ODBC Microsoft Access 安装”对话框
(4)单击“确定”按钮,完成配置系统DSN的操作。
使用ODBC方法连接Access数据库的代码如下:
例程2-2 代码位置:光盘\mr\2\2.2\2.2.1\02\conn.asp
<%
Dim Conn
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=AccessDSN"
%>
如果Access数据库设有密码,可以使用以下代码连接数据库:
<%
Dim Conn
Set Conn=Server.CreateObject("ADODB.Connection")
Conn.Open "DSN=AccessDSN;uid=admin;pwd=123456;"
%>
4. 如何用ODBC访问SQL数据库
如何用ODBC访问SQL数据库
SQL Server 2008数据库部署完成后,服务器访问和客户端计算机访问都可以通过ODBC访问SQL数据库。
基于ODBC的应用程序对数据库的操作不依赖任何数据库系统,不直接与数据库系统联系,所有的数据库操作由对应的ODBC驱动程序完成。下面小内为大家介绍如何用ODBC访问SQL数据库。
1.选择“开始”→“管理工具”→“数据源(ODBC)”选项,显示“ODBC数据源管理器”对话框。
2.切换到“系统DSN”选项卡,默认情况下计算机中没有部署和任何数据库的连接。
3.单击“添加”按钮,显示“创建新数据源”对话框。在“选择您想为其安装数据源的驱动程序”列表中,选择“SQL Server”选项。
4.单击“完成”按钮,启动创建新数据源向导,显示“创建到SQL Server的新数据源”对话框。在“名称”文本框中,键入数据源的名称,在“服务器”列表中选择目标SQL Server 2008数据库服务器,或者键入数据库服务器的名称。
5.单击“下一步”按钮,显示下图对话框,设置数据库的身份验证方法。ODBC支持基于Windows NT模式的身份验证和基于SQL Server的验证模式。本例中选择SQL Server验证模式。在“登录ID”文本框中,键入数据库管理员的名称,在“密码”文本框键入数据库管理员的密码。
6.单击“下一步”按钮,显示下图所示的对话框。设置连接的目标SQL Server 2008数据库服务器后,默认连接的数据库。默认没有选择任何数据库,其他选项使用默认值即可。
7.单击“下一步”设置连接到SQL Server 2008的数据库参数,建议使用默认值。如果在部署SQL Server 2008的过程中,更改了默认的数据库参数,建议在此对话框中设置和部署数据库时使用相同的参数。
8.单击“完成”按钮,显示创建ODBC数据源使用的参数。
9.单击“测试数据源”按钮,测试能够连接到目标数据库,如果成功显示“SQL Server ODBC 数据源测试”对话框,在“测试结果”列表中会显示“测试成功”信息。
10.单击两次“确定”按钮,完成ODBC数据源的创建,创建成功的数据源。应用程序即可通过ODBC数据源连接到目标数据库。
5. 如何在Linux下通过ODBC配置访问远程数据库,0
例如:sqlplus
username/password@servicename
于是想,用我的两台电脑双机互联试一试,也玩个远程连接。实验如下:
首先在我的台式机上安装了Oracle9i的数据库管理系统,并建立了一个数据库实例:xy然后为该实例新增了一个用户,用户名和密码都是kxy01
。启动实例xy后,在台式机上,直接在cmd环境键入:sqlplus
kxy01/kxy01@xy
就可以连接上数据库,呵呵,想来本地连接都是不费吹灰之力就行的。
之后,在我的笔记本上安装了Oracle9i的Client工具。然后试着直接用上述命令访问,显然是不行的,系统返回无法解析服务名的错误信息。
要实现连接到远程数据库,先了解一下相关知识吧,查了一下书。原来,
Net
Configuration
Assitant
的工具,应该就是它了。启动之:
Net
Configuration
Assitant共提供了4个配置功能:
监听程序配置,
命名方法配置,
本地网络服务名配置
目录使用配置。
要从远程位置连接Oracle数据库,必须配置Oracle网络监听程序。
Net
Configuration
Assitant
可以用于此项配置工作,启动后选择监听程序配置,一路下一步即可。
之后点开命名方法配置,系统已经默认提供了三种,其他两种也不太认识,干脆不改了,直接点后退,回到主菜单。
主菜单中,第三项是本地网络服务名配置。要通过网络访问Oracle数据库或其他服务,要使用网络服务名,该项配置允许使用由本地命名解析的网络服务名。而第四项为目录使用配置,点开一看,居然要选择目录服务器,我这一共就两台电脑,要什么目录服务,看来第四项不适合本实验了,显然,关键配置就在第三项:本地网络服务名配置。
将其点开,选择添加网络服务名操作,然后会询问你希望访问何种版本的Oracle数据库服务。
按照常理,我装的是Oracle9i自然应该选择第一个(Oracle8i或更高版本数据库服务),可经过实践证明,只有选择第二个(Oracle8i发行版8.0数据库或服务)才能正常实现远程连接,不明其中原因,也就只有选第二个拉。
然后输入我的数据库实例SID:xy然后选择网络协议,双机互联应该选择TCP吧,再然后填写数据库所在的主机名:kxyhome
。端口号采用默认的1521。
点击下一步,进行数据库连接的测试,测试成功后进行网络服务名的填写,这个名字就应该是sqlplus连接时候用的服务名了,这里我们使用:xyhome之后一切配置完成,来到命行,使用sqlplus进行连接:sqlplus
kxy01/kxy01@xyhome成功啦!
6. 如何使用odbc连接数据库
首先安装Mysql数据库。
然后安装MySQL ODBC 驱动
将要连接的MySQL数据库文件夹复制到MySQL安装文件夹的DATE目录下,DATE下的文件名为数据库名:
1、C:Program FilesMySQLMySQL Server 5.0data
2、C:ProgramDataMySQLMySQL Server 5.1data
根据您的系统可能不能,本人WIN7系统为上面第二个目录,安装完成后,我们下一步就创建ODBC数据源,步骤如下:
一、打开控制面板——管理工具——数据源(ODBC)——文件DSN如下图:
然后系统会弹出下图窗口,在Server:中填入本机地址:127.0.0.1, Port:3306(MySQL默认端口),User:填root(默认用户名为小写root),密码填入安装时输入的密码,database:选择MySQL数据库,完成按OK这样数据源就创建成功!
然后打开Access--外部数据--导入ODBC数据库—选择导入新表或链接--然后选择刚刚创建的数据源,也可以在这里新建数据源,方法和前面一样。
然后输入密码,选择数据库按OK建立链接!
7. 怎么通过odbc连接db数据库
开始——控制面板——管理器——数据源(ODBC)里面设置下你的SQL 就可以在程序中连接了
8. ODBC技术访问数据库是怎么回事ODBC是软件还是什么啊使用它还是要建立数据库吧,用access可以吧
access可以使用,关于ODBC技术,以下是说明。ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。
一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access , MYSQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。
一个完整的ODBC由下列几个部件组成:
应用程序(Application)。
ODBC管理器(Administrator)。该程序位于Windows 95控制面板(Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。
驱动程序管理器(Driver Manager)。驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件。
ODBC API。
ODBC 驱动程序。是一些DLL,提供了ODBC和数据库之间的接口。
数据源。数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。
各部件之间的关系如图下图所示:
应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。
在ODBC中,ODBC API不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。
在访问ODBC数据源时需要ODBC驱动程序的支持。用Visual C++ 5.0安装程序可以安装SQL Server、 Access、 Paradox、 dBase、 FoxPro、 Excel、 Oracle 和Microsoft Text等驱动程序.在缺省情况下,VC5.0只会安装SQL Server、 Access、 FoxPro和dBase的驱动程序.如果用户需要安装别的驱动程序,则需要重新运行VC 5.0的安装程序并选择所需的驱动程序。
ODBC 使用层次的方法来管理数据库,在数据库通信结构的每一层,对可能出现依赖数据库产品自身特性的地方,ODBC 都引入一个公共接口以解决潜在的不一致性,从而很好地解决了基于数据库系统应用程序的相对独立性,这也是ODBC 一经推出就获得巨大成功的重要原因之一。
从结构上分,ODBC 分为单束式和多束式两类。
1.单束式驱动程序
单束式驱动程序介于应用程序和数据库之间,像中介驱动程序一样数据提供一个统一的数据访问方式。当用户进行数据库操作时,应用程序传递一个ODBC 函数调用给ODBC 驱动程序管理器,由ODBC API 判断该调用是由它直接处理并将结果返回还是送交驱动程序执行并将结果返回。由上可见,单束式驱动程序本身是一个数据库引擎,由它直接可完成对数据库的操作,尽管该数据库可能位于网络的任何地方。
2.多束式驱动程序
多束式驱动程序负责在数据库引擎和客户应用程序之间传送命令和数据,它本身并不执行数据处理操作而用于远程操作的网络通信协议的一个界面。前端应用程序提出对数据库处理的请求,该请求转给ODBC 驱动程序管理器,驱动程序管理器依据请求的情况,就地完成或传给多束驱动程序,多束式驱动程序将请求翻译为特定厂家的数据库通信接口(如Oracle 的SQLNet)所能理解的形式并交于接口去处理,接口把请求经网络传送给服务器上的数据引擎,服务器处理完后把结果发回给数据库通信接口,数据库接口将结果传给多束式ODBC 驱动程序,再由驱动程序将结果传给应用程序。 希望以上答案对你有所帮助,祝你好运!!
9. 通过ODBC 如何 连接网络数据库C#或VB.net
由于你用的是access数据库,access数据库是本地数据库,不支持网络使用.建议你改用sql server或者其它支持网络应用的数据库.
如果你要在另一台机器上使用access数据库,一是你把数据库拷贝到另一台机器上,但这样是两个数据库是相互独立的,数据不能共享.另一种方法是开一个有权限的网络共享,远程计算机通过网络共享的方法访问你所使用的access数据库,两种方法只要用odbc连接成功,连接字符串和上面使用的是一样的写法
10. PHP使用ODBC连接数据库的方法
本文实例讲述了PHP使用ODBC连接数据库的方法。分享给大家供大家参考。具体实现方法如下:
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
xml:lang="en"
lang="en">
<head>
<title>PHP
and
ODBC:
XHTML
Example
1</title>
<meta
http-equiv="Content-Type"
content="text/html;
charset=UTF-8"
/>
</head>
<body>
<?php
$conn
=
odbc_connect(
"DRIVER={MySQL
ODBC
3.51
Driver};Server=localhost;Database=phpodbcdb",
"username",
"password");
if
(!($conn))
{
echo
"<p>Connection
to
DB
via
ODBC
failed:
";
echo
odbc_errormsg
($conn
);
echo
"</p>\n";
}
$sql
=
"SELECT
1
as
test";
$rs
=
odbc_exec($conn,$sql);
echo
"<table><tr>";
echo
"<th>Test</th></tr>";
while
(odbc_fetch_row($rs))
{
$result
=
odbc_result($rs,"test");
echo
"<tr><td>$result</td></tr>";
}
odbc_close($conn);
echo
"</table>";
?>
</body>
</html>
希望本文所述对大家的php程序设计有所帮助。