sq

细聊Oracle通过ODBC数据源连接SQL Server数据库

余生长醉 提交于 2019-11-30 14:48:11
类似文章搜索引擎上有很多,内容大致相同,今天所谓细聊是因为我在借鉴这些文章时候走了些弯路,所以写此文,为自己备忘,同时如果能为初涉此处知识点的小伙伴提供些帮助就更好了,文章结尾处的一些扩展有一定实战意义,废话不多说。 我的应用场景: 项目系统使用oracle数据库,与客户的第三方系统供应商实现资源共享,对方为sql server数据库; 我的测试开发环境为64bitwin7PC机,本机上装有64位Oracle11g和32位Oracle11g; 本文以32位Oracle为例,通过配置ODBC数据源连接虚拟机上的Sql Server; 第一步、创建ODBC数据源 这一步要考虑数据源是32位还是64位的问题,其实就是选择不同的exe打开上面的界面, win764位操作系统的64-bit ODBC 默认的位置: C:\Windows\System32\odbcad32.exe win764位操作系统的32-bit ODBC 默认的位置: C:\Windows\SysWOW64\odbcad32.exe 添加数据源: 测试通过代表数据源配置成功 第二步、检查DG4ODBC驱动是否已经安装 方法如下: 在Oracle服务器上,cmd窗口中执行命令(dg4odbc或hsodbc) 上图代表安装了DG4ODBC驱动(如果没有安装,需自行下载安装,此处不介绍具体操作) 第三步、配置hsodbc

Flask学习之旅--还是数据库(sqlacodegen + SQL Alchemy)

南笙酒味 提交于 2019-11-30 05:41:25
一、写在前面   其实之前已经写过一篇关于 Flask 中使用数据库的博客了,不过那一篇博客主要是记录我在使用 Flask + MySQL8.0 时所遇到的一些问题(如果用的不是 MySQL8.0估计就没有这么多问题了!)。然后这一篇可以算作一份学习笔记了,也是关于在 Flask 中进行数据库操作的,感觉写这种学习笔记还是比较有用的,可以再学习一遍也就能更好的掌握了。   在使用 Flask 的时候,一般都会创建一个 model.py,然后在里面继承和创建模型,再迁移到数据库中,最后进行一些增删改查等操作。但是如果数据库表已经建立好了呢?有没有办法将这些数据库表引入到 Flask 中呢? 二、sqlacodegen 1.sqlacodegen简介   sqlacodegen pypi: https://pypi.org/project/sqlacodegen/ 。   其中对 sqlacodegen 的介绍是:这是一个工具,它读取现有数据库的结构并生成相应的 SQLAlchemy 模型代码,如果可能,使用声明式样式。   sqlacodegen 的几个主要特性为:   1)支持 SQLAlchemy 0.8.x - 1.3.x。   2)生成几乎看起来像是手写的声明性代码。   3)生成符合 PEP 8 标准的代码。   4)准确地确定关系,包括多对多,一对一。   5

【考试】9.18

╄→гoц情女王★ 提交于 2019-11-30 02:57:07
最近这题解是真不想写, 正好这次不太难,就放个代码吧 1>比赛 新奇的方法,但是我不想分析 精度操作很烦人 #include<cstdio> #include<cstdlib> #include<algorithm> using namespace std; int n; const int N=5e4+3; long long a[N],b[N]; long long sum[N],sq_sum[N],ans; int main() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%lld",&a[i]); for(int i=1;i<=n;i++) scanf("%lld",&b[i]); sort(a+1,a+n+1),sort(b+1,b+n+1); for(int i=1;i<=n;i++) sum[i]=sum[i-1]+b[i],sq_sum[i]=sq_sum[i-1]+b[i]*b[i]; for(int i=1;i<=n;i++) { int pos=upper_bound(b+pos,b+n+1,a[i])-b-1; ans+=a[i]*a[i]*pos +sq_sum[pos] -2*a[i]*sum[pos] ; ans-=a[i]*a[i]*(n-pos) +(sq_sum[n]-sq_sum[pos])

顺序存储的线性表的基本操作

落爺英雄遲暮 提交于 2019-11-29 14:24:05
刚开始学数据结构,几乎算是什么都不会,想记录一下学习的东西,所以就学别人开始写博客。 刚学了顺序存储的线性表的基本操作,把操作写了一遍。 可能会有错误。 顺序存储的线性表,用结构体类型。注意:结构体并不是用来存储元素的,elem才是存储元素的首地址 1 typedef struct 2 { 3 ElemType *elem;//存储空间基地址 6 int length;//表长 7 int listsize;//表容量 8 }SqList; 初始化:构造空表L,返回一个状态,需要带回一个表给基地址动态分配一定大小的空间,表长赋0,表容量赋值 注意:开辟内存失败; 1 Status InitList_Sq(SqList &L)//L为结构体的一个变量,所以在使用它的成员时用L. 2 { 3 L.elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType)); 4 if(!L.elem) 5 exit(OVERFLOW); 6 L.length=0; 7 L.listsize=LIST_INIT_SIZE; 8 return OK; 9 } 创建表:先初始化,再依次输入每个元素,返回状态,传一个表、输入几个数,带回一个表 注意:每输入一个表长+1 这里的输入不通用,只能输入整型数据。也可以用初始化和插入函数实现 1 Status

SQLPro Studio mac如何链接MYSQL?SQLPro Studio使用教程

独自空忆成欢 提交于 2019-11-29 03:20:37
SQLPro Studio是100% Mac 原生应用,并非由 Java 编写,因此其性能优异,启动速度和响应速度都比 Java 的同类产品要快很多。SQLPro Studio 拥有一个直观的用户界面,提供了创建表、自定义查询、自动补全、语法高亮、更新或设计表结构等等功能。对于初用者来说,还不知道如何将SQLPro Studio链接MYSQL,所以小编带来了SQLPro Studio链接MYSQL的使用教程哦! 一、打开SQLPro Studio,如下图: 二、点击左上角的【+】图标,如下图: 三、在弹出的页面内填写要链接的内容,点击【save】保存,如下图: 四、保存完成后,双击打开,如下图: 以下是SQLPro Studio 链接MYSQL的代码,根据实际修改一下,执行即可: EXEC master.dbo.sp_addlinkedserver @server = N'linkedServer'--链接服务器名称,自己改 , @srvproduct=N'mysql'--自己改 , @provider=N'MSDASQL' , @datasrc=N'oos'--系统ODBC数据源名称 , @provstr=N'DRIVER={MySQL ODBC 5.3 Unicode Driver};SERVER=192.168.8.111;DATABASE=dbName;UID=root

再论php 5.3.6以前版本中的PDO SQL注入漏洞问题

点点圈 提交于 2019-11-28 23:10:41
我曾经写一篇《PDO防注入原理分析以及使用PDO的注意事项 》,里面描述到php 5.3.6之前的PDO可能存在SQL注入之问题,并给出了彻底的解决方案,有的朋友给我发电子邮件,对此有疑问,说是在php 5.3.6之前版本中未发现这个漏洞。事实上这个漏洞是存在的,本文再次给出详细的演示代码。 在php 5.3.6以前版本,运行以下代码,即可发现,存在PDO SQL注入问题(可向info表中填充一些数据):<?php $pdo = new PDO("mysql:host=127.0.0.1;dbname=test;charset=gbk","root"); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $pdo->query('SET NAMES GBK'); $var = urldecode('%bf%27%20OR%20username%3Dusername%20%23'); $query = "SELECT * FROM info WHERE username = ?"; $stmt = $pdo->prepare($query); $stmt->execute(array($var)); $r = $stmt->fetch(); print_r($r); 而在php 5.3.6以上版本中

pgsql 的函数

青春壹個敷衍的年華 提交于 2019-11-28 17:36:39
因为pgsql中没有存储过程和包,所以类似功能通过函数来实现 PostgreSQL的存储过程简单入门 http://blog.csdn.net/rachel_luo/article/details/8073458 存储过程事物 http://www.php100.com/manual/PostgreSQL8/tutorial-transactions.html PL/pgSQL - SQL存储过程语言 https://wiki.postgresql.org/wiki/9.1%E7%AC%AC%E4%B8%89%E5%8D%81%E4%B9%9D%E7%AB%A0 postgreSQL存储过程写法示例 http://blog.sina.com.cn/s/blog_448574810101f64u.html 结构 PL/pgSQL是一种块结构的语言,比较方便的是用pgAdmin III新建Function,填入一些参数就可以了。基本上是这样的: Sql代码 CREATE OR REPLACE FUNCTION 函数名(参数1,[整型 int4, 整型数组 _int4, ...]) RETURNS 返回值类型 AS $BODY$ DECLARE 变量声明 BEGIN 函数体 END; $BODY$ LANGUAGE ‘plpgsql’ VOLATILE; 变量类型

[转]NVME

本秂侑毒 提交于 2019-11-28 15:28:35
转自 蛋蛋读NVMe之一 https://mp.weixin.qq.com/s/vbRl0IG73aL-gY3oMkBmFQ NVMe有三宝:Submission Queue (SQ),Completion Queue(CQ)和Doorbell Register (DB)。SQ和CQ位于Host的内存中,DB则位于SSD的控制器内部。上图: 来源: https://www.cnblogs.com/yi-mu-xi/p/11412581.html

MyBatis源码解析(二):构建sqlSessionFactory

我与影子孤独终老i 提交于 2019-11-28 11:07:23
public static void main(String[] args) throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); try (SqlSession session = sqlSessionFactory.openSession()) { //方式一: UserMapper mapper = session.getMapper(UserMapper.class); User user1 = mapper.selectBlog("1"); //方式二: User user2 = session.selectOne( "test.UserMapper.selectBlog", 1); } } 1、构建sqlSessionFactory 读取并解析MyBatis的配置文件mybatis-config.xml,并将解析到的各节点数据保存至Configuration 对象。