zoukankan      html  css  js  c++  java
  • WPF连接Oracle数据库

    前言

    最近想要实现一个简单的桌面端记账工具,想到了使用wpf进行开发,于是今天花点时间研究了一下与数据库的连接

    开发工具

    VS2019,.net framework 4.7,Oracle 11.2

    具体步骤

    Oracle的配置

    oracle的安装和下载不用多说,度娘上很多类似的教程,这里就先跳过了。

    安装好后,开始创建用户,并给其分配相应的表空间:进入sqlplus(按下win键后直接数据sqlplus就可以进入了),输入用户名sys,密码默认是change_on_install as sysdba(你没看错,真的是这么长),进入如下界面

    然后进行分配表空间,创建角色和把空间分配给对应的角色,这里可以参照这位大佬的:Oracle起步---创建临时表空间/表空间/创建用户/授权

    这里要注意的是创建表空间的时候是要创建两个的,一个是临时表空间,一个是实际表空间,这里不做过多赘述,上面的大佬写的很清楚。我这里定义了一个用户manageruser,密码是123456,这个待会会用到。

    调用数据库代码的编写

    数据库的角色建好了,那么就要在wpf中编写相应代码来调用了,编写如下代码:

    public static class DBHelper
        {
            private static string connectionString = "Data Source=(DESCRIPTION = (ADDRESS_LIST= (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = orcl)));User ID = manageuser; Password=123456;";
    
    
            public static void Connect()
            {
                OracleConnection oracleConnection = new OracleConnection(connectionString);
                try
                {
                    oracleConnection.Open();
                    MessageBox.Show("连接成功", "提示");
                }
                catch (Exception)
                {
                    MessageBox.Show("连接失败", "提示");
                    throw;
                }
                finally
                {
                    oracleConnection.Close();
                }
    
            }
    
    
        }

     插入这段代码后,可能会在OracleConnection那里提示缺少命名空间的引用,根据vs的建议引用了

    using System.Data.OracleClient;

    之后,它又会提示这个方法是过时的,如图:

    这不神经病吗(小声逼逼),这种方法其实是没问题的,换个命名空间引用就可以了,这里可以参照这位大佬的:System.Data.OracleClient.OracleConnection已过时

    即在oracle安装目录下找到Oracle.Dataaccess.dll,将其添加引用,然后再把原来引用的命名空间换成 usingOracle.DataAccess.Client; 就可以了。

    这里再多说一句,上面代码中的connectionString是由三个部分组成的,oracle连接地址,登录用户名,登录密码,第一个oracle连接地址可以在oracle安装目录下的product11.2.0dbhome_1NETWORKADMIN nsnames.ora 中找到:

    端口号啥的新手不建议改,改了会比较麻烦。

    登录用户名和登录密码就是上面创建角色时新建的用户名和密码。

    测试

    配置工作已经完成了,跑一下试试

    成功啦 *^-^*!

    PS:如果运行过程中出现了报错:【未能加载文件或程序集“Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342”或它的某一个依赖项。试图加载格式不正确的程序】,可以参照这位大佬的解决方案:未能加载文件或程序集“Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342"

    参考资料:

    1.https://www.cnblogs.com/ZXdeveloper/p/5140416.html

    2.https://www.cnblogs.com/xmaomao/p/3273102.html

    3.https://blog.csdn.net/qq_39704682/article/details/91376440

    4.https://www.cnblogs.com/wangfuyou/p/5976558.html

  • 相关阅读:
    Vue.js —— 关闭eslint校验
    彻底搞懂 module.exports/exports/import/export/export default
    JS 中的原型和原型链
    TypeScript-初级-08-声明合并
    TypeScript-初级-07-泛型
    TypeScript-初级-06-类与接口
    TypeScript-初级-05-类
    TypeScript-初级-04-枚举
    TypeScript-初级-03-元组
    TypeScript-初级-02-字符串字面量类型
  • 原文地址:https://www.cnblogs.com/begonias/p/12219899.html
Copyright © 2011-2022 走看看