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 ...
随机推荐
- python配合Fiddler获取windows app登录时生成cookie实例
工具Fiddler/python3 打开Fiddler,清空一下Fidder里面的请求记录 打开app,进行登录,注意Fiddler里的请求变化 在弹出app登录的时候Fiddler里已经有了四个请求 ...
- [BZOJ3295][Cqoi2011]动态逆序对 CDQ分治&树套树
3295: [Cqoi2011]动态逆序对 Time Limit: 10 Sec Memory Limit: 128 MB Description 对于序列A,它的逆序对数定义为满足i<j,且 ...
- 【模板】exBSGS/Spoj3105 Mod
[模板]exBSGS/Spoj3105 Mod 题目描述 已知数\(a,p,b\),求满足\(a^x\equiv b \pmod p\)的最小自然数\(x\). 输入输出格式 输入格式: 每个测试文件 ...
- git 生成公匙私匙
直接 ssh-keygen -t rsa -C "*********@qq.com"也行 git config --global user.name “用户名” 用户名随便起!你能 ...
- ab输出信息解释以及Failed requests原因分析
ab是apache自带的压力测试工具.ab进行的一切测试本质上是基于HTTP的.下面是对ab输出项信息的解释和出现Failed requests原因分析.测试实例:1. ab输出信息说明: 1 2 ...
- Turn Off The Light HDU - 6307
题目大意 是有n个位置有灯,告诉你每个位置灯是开着的还是关着的,告诉你你的初始位置p,你可以往左或者右移动一步(在1到n的范围里移动), 并且在移动后必须按下开关(就是使当前打开的灯关上,当前未打开的 ...
- 逻辑回归--美国挑战者号飞船事故_同盾分数与多头借贷Python建模实战
python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...
- UDP_TCP示意图
- Java基础-进程与线程之Thread类详解
Java基础-进程与线程之Thread类详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.进程与线程的区别 简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程 ...
- 八卦Minsky打压神经网络始末
八卦Minsky打压神经网络始末 谈下Minsky造成的神经网络冰河事件:57年一个叫弗兰克的大概只有二流水平的学者搞出了感知机,理论和实践证明了对线性可分问题的有效性,引起一阵轰动,特别是非科学圈类 ...