vs2012 连接oracle11g 及数据的insert及select 的总结
下载链接Oracle 11g所需的驱动ODTwithODAC1120320_32bit,下载链接为http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
安装ODTwithODAC1120320_32bit,安装过程中选择安装产品是只需要选择Oracle Client即可
转载:安装完ODTwithODAC112012,出现ORA-12560:TNS:协议适配器错误
参考:http://blog.csdn.net/tan_yixiu/article/details/6762357
操作系统:windows7
开发工具:VS2012
数据库:oracle11g
安装ODAC :ODTwithODAC112012后,出现ORA-12560:TNS:协议适配器错误
ODTwithODAC112012的下载地址:http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
进入系统环境变量设置,查看Path路径,发现在安装ODAC时,同时安装了oracle客户端,
安装完成后发现在Path路径的最前面多了两个安装ODAC时产生的路径
F:\app\Administrator\product\11.2.0\client_1;
F:\app\Administrator\product\11.2.0\client_1\bin;
此时path路径为:F:\app\Administrator\product\11.2.0\client_1;F:\app\Administrator\product\11.2.0\client_1\bin;E:\app\Administrator\product\11.2.0\dbhome_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
这两个路径放到了oracle11g数据库路径前面,导致出现ORA-12560:TNS:协议适配器错误
将新加入的路径F:\app\Administrator\product\11.2.0\client_1;F:\app\Administrator\product\11.2.0\client_1\bin;置后(oracle数据库路径的后面)即可解决ORA-12560:TNS:协议适配器错误。
例如:将path修改为:E:\app\Administrator\product\11.2.0\dbhome_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;F:\app\Administrator\product\11.2.0\client_1;F:\app\Administrator\product\11.2.0\client_1\bin;
解决ORA-12560:TNS:协议适配器错误。
接下来配置oracle客户端,否则VS2010无法连接到oracle数据
先找到 Oracle 数据库的安装目录,然后在其中找到如下目录
例如:我的安装在 E盘
E:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN
在其中找到下面标记的两个文件:tnsnames.ora 和sqlnet.ora
然后将这两个文件拷贝到 Oracle Developer Tools for Visual Studio .NET 的安装目录下的以下目录,
例如:我的安装在F盘
F:\app\Administrator\product\11.2.0\client_1\Network\Admin
然后便可以重启机器了,就可以了(注意我这个oracle数据库和Oracle Developer Tools for Visual Studio .NET 安装在同一台服务器上了)。
vs2012连接oracle11g(本人实践)





连接oracle:
public class DBHelper
{
public const string conStr = "DATA SOURCE=ORCL;USER ID=SCOTT;PASSWORD=tiger";
}
要有这个using System.Data.OracleClient;
select例子:(没排版)
public LoginUser FindUserByLOGINID(string LOGINID)//通过LOGINID查找T_USERS表
{
string cmdStr = "select LOGINID,LOGINPWD from T_USERS where LOGINID=:LOGINID";
using (OracleConnection conn = new OracleConnection(DBHelper.conStr))
{
conn.Open();
using (OracleCommand cmd = new OracleCommand(cmdStr, conn))
{
cmd.Parameters.AddWithValue("LOGINID",LOGINID);
using (OracleDataReader dr = cmd.ExecuteReader())
{
if (dr.Read())
{
LoginUser u = new LoginUser();
u.LOGINID = Convert.ToString(dr["LOGINID"]);
u.LOGINPWD = Convert.ToString(dr["LOGINPWD"]);
return u;
}
return null;
}
}
}
}
insert例子:(没排版)
public int SubmitRegisterInformation(RegisterUSER u)//提交用户注册信息
{
string cmdStr = @"INSERT INTO T_USERS
(LOGINID
,LOGINPWD
,REGISTER_TIME)
VALUES
(:LOGINID
,:LOGINPWD
,TO_DATE(:REGISTER_TIME,'yyyy-mm-dd hh24:mi:ss'))";//REGISTER_TIME在oracle数据库里是date类型,不过存进oracle里显示的是
,这个问题以后详细讲
using(OracleConnection conn = new OracleConnection(DBHelper.conStr))
{
conn.Open();
using (OracleCommand cmd = new OracleCommand(cmdStr, conn))
{
string register_time = DateTime.Now.ToShortDateString();
register_time += DateTime.Now.ToShortTimeString();
//string register_time = DateTime.Now.ToLongDateString().ToString();
//register_time += DateTime.Now.ToLongTimeString().ToString();
cmd.Parameters.AddWithValue("LOGINID",u.LOGINID);
cmd.Parameters.AddWithValue("LOGINPWD", u.LOGINPWD);
cmd.Parameters.AddWithValue("REGISTER_TIME",register_time);
return cmd.ExecuteNonQuery();
}
}
}
vs2012 连接oracle11g 及数据的insert及select 的总结的更多相关文章
- SQL insert into select 语句
遇到权限数据变更的需要批量到别的平台, 在175平台添加一个权限需要, 批量到别的现有平台, 以后的建站, 会把sql放到自动建站里面; 权限的 insert into select 表一: `ous ...
- SQL学习——SELECT INTO和INSERT INTO SELECT
原文链接 SELECT INTO 作用 SELECT INTO 语句从一个表中复制数据,然后将数据插入到另一个新表中. SELECT INTO 语法 我们可以把所有的列都复制到新表中: SELECT ...
- Entity Framework 6 Database-first连接Oracle11g
Entity Framework 6 Database-first连接Oracle11g(图文细说) 本文发布地址:http://www.cnblogs.com/likeli/p/5577264.ht ...
- 【分享】生成带数据的Insert语句工具(源码)
这个工具用于导出带数据的Insert语句,方便在不同版本的数据库上导出数据.有人说sql server 2008自带导出带数据的Insert语句(连接)但是我的数据库版本没有这个选项,无奈之下自己简单 ...
- mybatis 通过配置父类数据源连接和关闭数据,进行junit单元测试
来源:https://blog.csdn.net/Bigbig_lyx/article/details/80646005 解决问题,单元测试没经过单独配置,每个测试方法中要添加配置数据源 一:配置父类 ...
- 把表里的数据转换为insert 语句
当表里面有数据时,怎么把表里的数据转换为insert 语句 (从别人那里看来的用SQLServer 2008 R2测试可用) CREATE PROC spGenInsertSQL @TableName ...
- 将表数据生成Insert脚本
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo-- =============================================-- Author ...
- 表数据转换为insert语句
/* 对象:导出物理表数据为Insert语句 描述:可以传递条件精确导出sql 加条件的前提是只知道相应的字段名及类型 */ from sysobjects where name ='proc_ins ...
- sql server 数据库导出表里所有数据成insert 语句
有时候,我们想把数据库的某张表里的所有数据导入到另外一个数据库或另外一台计算机上的数据库,对于sql server有这样的一种方法 下面我以sql server 2008 R2,数据库是Northwi ...
随机推荐
- mysql内外连接
更新于2017-12-13,在今天的一个面试里面被问到了left/right outer join,回答上来了.但又问了一下inner join ,一下子记不清inner jion是个什么东西了.这次 ...
- The Dominator of Strings HDU - 6208(ac自动机板题)
题意: 就是求是否有一个串 是其它所有串的母串 解析: 把所有的串都加入到trie数中 然后用最长的串去匹配就好了 emm..开始理解错题意了...看成了只要存在一个串是另一个的母串就好.. 然后输 ...
- BZOJ 3093: [Fdu校赛2012] A Famous Game
3093: [Fdu校赛2012] A Famous Game Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 242 Solved: 129[Subm ...
- 【转】器件为什么只听英文Datasheet的话
浅谈为什么要阅读英文数据手册 ——带你Go Through Datasheet 系列 Unfortunately!从事软硬件(固件)开发的工程师都知道,我们所用的元器件,特别是高端器件和芯片,都是来自 ...
- 部署puppet master/agent模型
自己画的一个简单的架构图 agent端每隔30分钟到master端请求与自己相关的catalog. 各节点时间要同步. 依赖DNS,各节点能通过主机名能解析. 1.同步时间 # yum install ...
- 单点登录(六)-----遇到问题-----cas server 源码部署导入gradle后有感叹号---错误信息A cycle was detected in the build path of pr
cas server 源码部署导入gradle后有感叹号---错误信息A cycle was detected in the build path of project 'cas-server-cor ...
- 【最小割】【网络流24题】【P2762】 太空飞行计划问题
Description W 教授正在为国家航天中心计划一系列的太空飞行.每次太空飞行可进行一系列商业性实验而获取利润.现已确定了一个可供选择的实验集合E={E1,E2,-,Em},和进行这些实验需要使 ...
- TCP: time wait bucket table overflow解决方法
/var/log/messages 中出现大量的 TCP: time wait bucket table overflow 引起该现象的原因是服务器tcp的连接数太多,超出了内和定义的最大数 临时改变 ...
- Java入门:读写文本文件
文本文件的读写是学习java必须掌握的一项基本技术,因为在项目中时常会涉及到文本文件的读写. 一.使用FileWriter写文件 1.FileWriter类 [功能] FileWriter类专门用来写 ...
- 将SQL Server账户对应到Windows系统账户
应用场景举例: SQL Server账户要访问外部资源,例如所拥有的Job要访问文件系统,而此文件系统需要Windows账户才有权限. 步骤: 1. 服务器新建凭据(Credentials ...