当前位置:数据库 > Oracle >>

C#远程连接oracle数据库,以下是源代码,另外,本机未安装oracle客户端,运行后提示错误,求高手们解决

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.OracleClient; namespace 连接远程oracle { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } private void button1_Click(object sender, EventArgs e) { string connstring = "Data Source=(DESCRIPTION=" + "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=IP)(PORT=1521)))" + "User ID=scott;Password=tiger;"; OracleConnection conn = new OracleConnection(connstring); try { conn.Open(); OracleCommand cmd = conn.CreateCommand(); cmd.CommandText = "select * from emp"; OracleDataReader odr = cmd.ExecuteReader(); while (odr.Read()) { textBox1.Text = "远程数据库时间:" + odr.GetOracleDateTime(0).ToString(); textBox1.Text = textBox1.Text + "远程数据库时间:" + odr.GetString(2); } odr.Close(); } catch { MessageBox.Show("erro"); } finally { conn.Close(); } } } }
追问:HOST=IP,其中的IP是远程数据的IP地址,我把客户端也安装上了,和服务器的版本是一样的,PLSQL Developer可以正常连接(主机字符串用“IP:1521/orcl”),在tnsnames.ora中也添加了如下文字:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
程序运行时调用了MessageBox.Show("erro");语句,显示"erro"提示。
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,