DotNet全家桶与Oracle数据库
前言
- 本文是按照时间顺序记录的流水帐,未经整理
- 流水帐的好处在于符合认知规律
数据库环境
Oracle数据库11gR2下载地址 - WebLogic Android 博客
将注册表中的服务对应的表项删除后,重启即可看到服务项被删除
Oracle 11g安装步骤详谈 - starskyhu - 博客园
Oracle 十全大补汤 | AMAN’s BLOG
执行sqlplus报错SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
ORACLE_HOME环境变量未配置好: 需要到app…home这一级ORA-12560: TNS: 协议适配器错误
未解决 重装oracle
Windows下把Oracle卸载干净 - 简书
INS-13001 环境不满足最低要求
忽略就行 也可参考更改配置文件(但是没看明白)
Oracle——异常集 · IanEiU
OUI-10137
C:\Program Files\Oracle\Inventory没有删除(PS: 在这种情况下新生成的文件不用删除)在注册表中没有找到指定的主目录名
据说是没有更改环境变量 但是这里是更改了的 或许和之前没有删除OUI-10137错误的文件有关
事后可登录 Oracle Enterprise Manager
仅管理员才是可以登录到 Enterprise Manager 执行管理任务 (如设置封锁, 电子邮件通知调度) 的数据库用户。
然后使用数据库管理软件连接:
Toad是数据库管理及开发的极佳工具,简单的说就是oem+sqlplus+pl/sql developer
错误 忘了怎么解决的了
1
Cannot load OCI DLL: DriveLetter:\app\username\product\11.2.0\instantclient_11_1\oci.dll
错误 忘了怎么解决的了
1
2This product require Microsoft MSXML 4.20.9818.0 or above and will not be installed at this time. Please refer to the product release notes for specific requirements. Microsoft MSXML 4(msxml.msi) can be installed from the Microsoft download centre .
Benchmark Factory® for Databases is a database replay and performance testing tool that stress tests your environment by simulating users and SQL transactions on the database. Developers and QA professionals use Benchmark Factory and Toad to test SQL and database code against development SLAs and scalability. DBAs use Benchmark Factory and Toad to replay database workload or utilize industry standard benchmarks to mitigate the risks of database upgrades, migrations or patch releases.
- 坑(最前面是解决方案 链接的名称就是坑的描述)
忽略
Oracle安装错误ora-00922(缺少或无效选项)GK 如何安装 Oracle
Windows下Oracle安装图解—-oracle-win-64-11g 详细安装步骤未安装客户端
TOAD OR PLSQL 连接 ORACLE ,Toad报“No valid Oracle Client found”无效 Origin-Others
oracle配置监听问题——注册表中没有OracleOraDb11g_home1TNSListener删除注册表项后重启
找不到OracleMTSRecoveryService忽略
[orapwd.exe Unable to find error file”%ORACLE_HOME%”\RDBMS\opw]忽略
INS-20802 Oracle Net Configuration Assistant 失败。信息: Oracle Database Configuration Assistant 失败
GK: EF模型 和 ORM 的区别 -CSDN
ORM系列之Entity FrameWork详解
C#编程入门
有编程基础的话
这一部分 基本可以边上手边学的
SK: Essential C# C# "本质论" filetype:pdf -博客 -baidu
C#本质论
整型数值类型(C# 参考)
避免对C#中float,double,decimal的错误理解
SK: Google 搜索 问号
如何谷歌一个问号
Google Hacking————你真的会用Google吗?
“+”强制搜索其后的一个单词,可以取消之前说的Google对常用单词的忽视(AND逻辑),
但是大部分常用英文符号(如问号,句号,逗号等)无法成为搜索关键字,加强制也不行;
SO SK: "decimal?"
是不行的, 要使用SK: decimal 问号
C#中,为什么在值类型后面加问号
decimal?是可空类型就是可以将值设置为Null,decimal 不能设置为null
另见Class LinqExtensions: InsertWithDecimalIdentity
DotNet入门
背书
ASP.Net -Wiki是由微软在.NET Framework框架中所提供,开发Web应用程序的类库,
封装在System.Web.dll文件中,显露出System.Web名字空间,并提供ASP.NET网页处理、扩展以及HTTP通道的应用程序与通信处理等工作,以及Web Service的基础架构。
ASP.NET是ASP技术的后继者,但它的发展性要比ASP技术要强大许多。
为了因应云端化所诱发的多作业平台集成与开发能力,微软特别开发一个新一代的 ASP.NET,称为 ASP.NET vNext,
并于 2014 年命名为 ASP.NET 5,但随后于 2016 年将它更名为 ASP.NET Core,
由于架构上的差异颇大,因此未来 ASP.NET 与 ASP.NET Core 将是分别发展与维护,
Windows 平台的 ASP.NET 4.6 以上版本仍维持 Windows Only,但 ASP.NET Core 则是具有跨平台 (Windows, Mac OSX 与 Linux) 的能力。
遇见的很多问题及其大致解决思路
大都不是什么大不了的问题
SK: Visual Studio 2017 C# 代码高亮 using "错误" -CSDN -程序错误 -插件 -更新 -调试
?? 运算符(C# 参考)
SK: VS2017 ASP.NET NUGET 程序集引用 報紅 但是程序可以正常運行
解决.NET 项目引用类库出现黄色警告
【Visual Studio】项目的引用显示黄色叹号
SK: 如何 更改所引用的工程文件的.Net版本 感叹号
C# 工程中引用出现感叹号
C# 工程中引用出现感叹号
VS中修改.net版本
SK: Microsoft.AI.Web 黄色叹号
无法加载文件或程序集“Microsoft.AI.Web”或其依赖项之一。该系统找不到指定的文件
SK: 未能找到类型或命名空间名 "AutoMap From"
VS的ASP.NET项目中cshtml关键词出错 红线,当前上下文中不存在名称
c# – 命名空间不被识别(即使它在那里)
解决Visual studio编写C#时“未能找到类型名称或命名空间名称XXX…”错误
SK: System.BadImageFormatException: 未能加载文件或程序集 或它的某一个依赖项。试图加载格式不正确的程序。。
‘InstallUtil’ 不是内部或外部命令,也不是可运行的程序
“vcvars32.bat”
Installutil.exe(安装程序工具)
未能加载文件或程序集“XXXXXX”或它的某一个依赖项。试图加载格式不正确的程序。
1 | vsCommandPrompt32(应该使用项目目录下边自带的233) |
SK: X ORA-28547:connection to server failed,probable Oracle Net admin error
用Navicat连接Oracle数据库时报错ORA-28547:connection to server failed, probable Oracle Net admin error - 不忘初心 - CSDN博客
SK: Navicat 连接 ORACLE
Navicat Premium 连接Oracle 数据库(图文教程) - 周江霄 - CSDN博客
SK: 如何 测试 IIS Express Web API postman
如何在ASP.NET Core Web API测试中使用Postman
使用 Postman 调试 ASP.NET Core 开发的 API - walterlv
教程:使用 ASP.NET Core MVC 创建 Web API
SK: 当前不会命中断点 还未
VS2017调试代码显示“当前无法命中断点,还没有为该文档加载任何符号”
Visual Studio 当前不会命中断点的问题
PS: 只改过部分配置 实在乱掉可以参考admin的VS配置 或还原
执行interfaceRpo.Get遇到异常(莫非是由于没有实现..?)
“System.Reflection.AmbiguousMatchException”类型的异常在 mscorlib.dll 中发生
ABP框架
强调
对数据进行变动的是业务(Business), 仓储只实现查询, 数据变动已经被基础的仓储接口实现
基本使用
SK: "IRepository" docs 教程
ABP 教程文档 1-1 手把手引进门之 AngularJs, ASP.NET MVC, Web API 和 EntityFramework(官方教程翻译版 版本3.2.5)含学习资料
设计基础结构持久性层
SK: IRepository Query接口 用法
NopCommerce源码架构详解–EF数据访问实例详解
EntityFramework用法探索(四)Repository和UnitOfWork - 匠心十年 - 博客园
1 | int cnt = db.GetTable<ORM_ENTITY_NAME>().Where(p => p.id == id).Delete(); |
SK: IRepository Get Single 区别
分享基于Entity Framework的Repository模式设计(附源码)
SK: "System.Reflection.AmbiguousMatchException" (位于 mscorlib.dll 中
微软DotNet文档 AmbiguousMatchException Constructors
单元测试
吐槽
安装 xunit生成插件后即可自动创建模板(当然, 得改改)吐槽
另外 无法直接对Controller进行测试(估计需要开启服务, 且要引入HTTP以及测试的内容所处的项目 实际上项目跑起来后并不能执行测试)吐槽
测试Servise又需要登录…
这应该是postman最详细的中文使用教程了SK: Postman 测试 文件接口
postman测试上传文件
SK: xunit Microsoft.VisualStudio.TestTools.UnitTesting 区别
C#单元测试,带你快速入门
安装单元测试框架
Live Unit Testing 简介SK VS 右键创建 Xunit 单元测试
使用xUnit为.net core程序进行单元测试(1)
Visual Studio 2017 优雅单元测试
代码质量随想录(六)用心写好注释
代码质量随想录(六)用心写好注释
在持久仓库调用
- DataContext.GetTable
Method - Query
- Excute
当1
2System.Reflection.TargetInvocationException
System.UnauthorizedAccessException
使用以下语句后可以保证1
2
3
4
5
6
7
8// IUnitOfWorkManager中IUnitOfWorkCompleteHandle Begin();
using (var uow = _unitOfWork.Begin())
{
var result = _testerService.TestFun(entity);
Assert.True(result != null, "测试成功!");
// IUnitOfWorkCompleteHandle中void Complete();
uow.Complete();
}
SK: ABP 联查 IRepository
无果
ABP 数据库 – ABP&EF中的多表、关联查询这个类似JPA的语法
SK: IUnitOfWorkCompleteHandle Begin()
ABP拦截器之UnitOfWorkRegistrar(二)
如果一个带工作单元的方法调用了另外一个带工作单元的方法的时候,那么这两个方法是会共享相同的连接和事物的,并且第一个调用的方法管理这个工作单元,第二个进行复用,所以上面的这个ICurrentUnitOfWorkProvider接口主要是为了解决多个工作单元互相调用的问题。
VS中如何添加自定义 代码片段
单元测试报告显示System.InvalidOperationException : 序列不包含任何元素
这个貌似是由于没有查询到元素(但加上后面的关联单元语句后会返回null)Message: System.NullReferenceException : 未将对象引用设置到对象的实例。
使用了Single方法Gets exactly one entity with given predicate. Throws exception if no entity or more than one entity.
1 | public class NameRepository : RepositoryBase<Name_Table>, INameRepository{ |
SK: C# 类似 org.springframework.beans BeanUtils.copyProperties 的方法
慎用BeanUtils的对象拷贝方法
初始化测试资源
C# 析构函数(Destructor)和终结器(Finalizer)——托管资源的释放
->官方
终结器(C# 编程指南)
我们只能知道GC会回收这两个对象,但在.NET中,由于GC的存在,究竟何时调用析构函数我们是不能确认的。
释放资源
Xunit.Abstractions.IAfterTestFinished;
SK: XUnit After Test Finished
Run code once before and after ALL tests in xUnit.netSK: C# lambda 表达式
Lambda 表达式(C# 编程指南)
最后发现 官方的文档中:1
2
3
4
5
6
7
8
9
10
11//
// 摘要:
// 提供一种用于释放非托管资源的机制。 若要浏览此类型的.NET Framework 源代码,请参阅Reference Source。
[ComVisible(true)]
public interface IDisposable
{
//
// 摘要:
// 执行与释放或重置非托管资源关联的应用程序定义的任务。
void Dispose();
}
于是只需要重载Dispose方法就okxunit错误也会执行 其他没试过
IIS
SK: 未找到WAS 服务
在计算机“.”上没有找到WAS服务
HTTP 错误 404.0 - Not Found
快捷键在调试选项下可查看
依然是可以的,只是进程不在是原来的w3wp进程了,而是dotnet.exe。
不过最好建议使用IIS进行反向代理,这样就可以通过进程的
User Name
明显的看到是在哪个dotnet.exe进程中了。