第一步:下载Instant Client 文件
1.去Oracle官网下载Instantclient。
我是在这里下载Instantclient的:http://www.oracle.com/technetwork/cn/database/windows/downloads/index-098472-zhs.html
2.然后将此文件放在C盘根目录下,例如C:\instantclient_11_2
第二步:配置环境变量
找到设置环境变量配置的地方(我的电脑右键属性 --高级 --环境变量)
在系统变量中,首先找到Path变量名,然后点“编辑”,在其变量值后面加入中括号内的内容[;C:\instantclient_11_2],注意不要把中括号加进去了,这个值其实就是刚才我们解压Instant Client所在的目录,根据真实情况,修改即可。然后还是在系统变量中,增加以下三个变量:
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
TNS_ADMIN= C:\instantclient_11_2
LD_LIBRARY_PATH= C:\instantclient_11_2
第三步:增加tnsnames.ora文件
在C:\instantclient_11_2下添加一个配置文件tnsnames.ora,内容如下
# tnsnames.ora Network Configuration File: tnsnames.ora
# Generated by Oracle configuration tools.toptst =
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.198.59 )(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = toptst ) ) )说明,以下需要根据实际情况修改:
HOST = 服务器地址IP 或服务器名称
PORT = 服务器端口号,默认为“1521“
SERVICE_NAME = 服务器数据库服务的名字
第四步
在进程选项卡中找到explorer.exe,把该进程结束掉,然后在应用程序选项卡中点击“新任务(N)…”,在弹出的新建任务窗口中输入explorer.exe,确定即可。其原理就是重启一下explorer进程,以达到刷新注册表的目的。
c#测试代码
1 using System.Data.OracleClient; 2 private void button1_Click(object sender, EventArgs e) 3 { 4 string ConnectionString = @"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.198.59 5 6 ) (PORT=1521)))(CONNECT_DATA=(SERVICE_NAME= toptst))); 7 User Id=ERPHIC; Password=***"; 8 if (!string.IsNullOrEmpty(textBox1.Text.ToString())) 9 {10 ConnectionString = textBox1.Text.ToString();11 }12 OracleConnection conn = new OracleConnection(ConnectionString);//创建一个新连接13 try14 {15 conn.Open();16 string sqltime= "select to_char(SYSDATE,'yyyy-mm-dd hh24:mi:ss') from dual";17 OracleCommand cmd = conn.CreateCommand();18 cmd.CommandText = sqltime;19 DataTable dt = new DataTable();20 OracleDataAdapter adt = new OracleDataAdapter(cmd);21 adt.Fill(dt);22 dataGridView1.DataSource = dt;23 cmd.Dispose();24 }25 catch (Exception ee)26 {27 MessageBox.Show(ee.ToString());28 }29 finally30 {31 conn.Close(); //关闭连接32 }33 }
此文章转自https://www.cnblogs.com/alanjl/p/3413599.html,在读了这位小哥文章后解决了我的问题,再次谢谢这位小哥的分享。