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 ...
随机推荐
- NOIWC2017&&THUWC2017 滚粗记
因为NOI WC的时候一直在生病,浑浑噩噩就过去了7天,基本没什么记忆了,所以就压到一篇里好了. day -1 第一次发现高铁的椅子原来还可以转过来,于是我们四个小伙伴面对面愉快的打了一路宣红A. 在 ...
- fzyzojP2984 -- 序列变换问题
一个区间缩小变换的问题,并且n<=300 启示我们区间dp 我们考虑最后一定是在原串上扣一些,剩一些 所以不妨前求出[l,r]把[l,r]完全处理成什么样子的方案数 然后再来一遍序列dp,统计答 ...
- matlab --- plot画图
plot画的图形在上一个plot的figure中:hold on 添加图例:legend({'X','Y'}) 限制X轴Y轴的坐标范围:xlim([380 780]);ylim([0 2]) 或 ax ...
- python基础之函数进阶之函数作为返回值/装饰器
因为装饰器需要用到返回函数的知识,所以在这里将返回函数和装饰器合并讲解. 什么是返回函数? 我们知道,一个函数中return可以返回一个或者多个值,但其实,return不仅可以返回值,还可以返回函数. ...
- Tomcat权威指南-读书摘要系列1
1. Tomcat的开幕式 1.1. Tomcat是以Java编写的 1.2. 以catalina命令启动和停止Tomcat .\catalina.bat start // 启动 .\catalina ...
- SpringMVC之@RequestParam @RequestBody @RequestHeader 等详解
转自:http://blog.csdn.net/kobejayandy/article/details/12690161?reload 简介: handler method 参数绑定常用的注解,我们根 ...
- 二、Kafka基础实战:消费者和生产者实例
一.Kafka消费者编程模型 1.分区消费模型 分区消费伪代码描述 main() 获取分区的size for index =0 to size create thread(or process) co ...
- 织梦自定义表单通过ajax提交的实现方法
自定义表单通过ajax判断,提交不用跳转页面,提高用户体验.具体方法如下: html表单代码部分,就提交按钮改成botton,,添加onclick事件 表单代码: <form action=&q ...
- 学以致用:Python爬取廖大Python教程制作pdf
当我学了廖大的Python教程后,感觉总得做点什么,正好自己想随时查阅,于是就开始有了制作PDF这个想法. 想要把教程变成PDF有三步: 先生成空html,爬取每一篇教程放进一个新生成的div,这样就 ...
- [整理]Node入门 » 一本全面的Node.js教程 - Demo实践所遇到的问题
花了一个上午看完[转载]Node入门 » 一本全面的Node.js教程 根据里面的Demo自己手动实现过程中还是遇到了些问题,特整理在此. <1>.由于node.msi安装包已经自动添加了 ...