VB 连接Oracle

Dim conn As OleDb.OleDbConnection
Dim strConnect As String = "Provider=MSDAORA;Data Source=ORCL;User ID=zhangy;Password=zhangy;"
conn = New System.Data.OleDb.OleDbConnection(strConnect)
conn.Open()

执行到Open的时候就报错,可是,其他人这么些就没错,是不是我的电脑不能用Ole的方式连接数据库?
不懂啊!!!!!!!

VB6.0可通过Adodc数据访问控件的属性页进行连接Oracle数据库。

1)建立数据工程,在窗体添加Adodc数据访问控件。鼠标选中Adodc控件-右键-Adodc属性-使用连接字符串-生成。

2)选Microsoft OLE DB Provider For Oracle,下一步。

3)根据数据链接属性对话框填写所需内容,测试连接。点确定,最终在Adodc属性页获得连接字符串,复制该字符串,即可作为Adodc数据访问控件直接使用,或在代码中用于Adodc控件或ADO数据访问对象。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-14
Dim conn As OleDb.OleDbConnection
Dim strConnect As String = "Provider=MSDAORA;Data Source=ORCL;User ID=zhangy;Password=zhangy;"
conn = New System.Data.OleDb.OleDbConnection(strConnect)
conn.Open()

测试没有问题。
应该是你的程序的问题,电脑的程序或者vb的问题。追问

以前是用ODP连接oracle 不过用的是C# ,今天头一次用VB,既然我这样不行的话,还可以有什么方法连接吗?

第2个回答  2011-11-17
需要设置ORACLE目录的安全性。参考别人的机器 就知道了 。
第3个回答  2011-11-14
Dim strConnect As String = "Provider=OraOLEDB.Oracle;Data Source=ORCL;User ID=zhangy;Password=zhangy;"追问

还是不行,依旧报错 ORA-12154: TNS: 无法解析指定的连接标识符

追答

data source 后的orcl 是net 服务名?必须是net 服务名!
需要先安装oracle client 管理员;
然后用Net Configuration Assistant配置服务名
oracle 熟悉的话可以不用Net Configuration Assistant配置直接改tns文件

追问

没错啊

ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.8)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ORCL)
)
)

追答

你先用 oracle 客户端Enterprise Manager Console连接试试
要不改成下面的
ORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.8)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)

追问

还是不行,我没有安装客户端,是远程连接数据库

追答

ole db方式 必须装客户端

追问

安装的oracle 11客户端

追答

俺一直是用ado 的 ADODB.Connection 连接数据库;这种方式必须安装oracle客户端;
我所知道第三方客户端: plsql ,toad 连接oracle 也是必须安装oracle 客户端。
OleDb.OleDbConnection 这种方式我没用过。不知道是否需要oracle 客户端

本回答被提问者采纳
相似回答