PowerPoint Template

Similar documents
untitled

2 ADO.NET Internet 1.2

untitled

untitled

untitled

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S

twfhsec101hpuigqegtpjnhg.doc

untitled

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

RUN_PC連載_12_.doc

<4D F736F F F696E74202D A451A447A67EB0EAB1D0A74BB8D5A44ABEC7B8A8C249A4C0AA52BB50A7D3C440BFEFB6F1B5A6B2A4205BACDBAE65BCD2A6A15D>

1-1 database columnrow record field 不 DBMS Access Paradox SQL Server Linux MySQL Oracle IBM Informix IBM DB2 Sybase 1-2

ASP.NET实现下拉框二级联动组件

安徽省教育招生考试院

<4D F736F F D B0EAA5C1A470BEC7A4CEB0EAA5C1A4A4BEC7B8C9B1CFB1D0BEC7B9EAAC49A4E8AED7>

Microsoft Word - 面向应用能力,构建师范院校计算机公共课程 “三层次教育”课程体系new.doc

新 闻 学 46 7 新 闻 传 播 学 院 广 告 学 28 4 广 播 电 视 学 23 3 新 闻 学 广 告 学 ). 级 学 生 申 请 准 入 需 修 完 或 正 在 修 2 门 专 业 准 入 课 程 并 取 得 相 应 学 分 ;2). 级 学 生 申 请 准 入 需

Microsoft Word 電腦軟體設計.doc

<4D F736F F D20BCAFC3C0B4F3D1A7B3CFD2E3D1A7D4BAB1BEBFC6D1A7C9FABFCECDE2BCBCC4DCD1B5C1B7D3EBB4B4D0C2CAB5BCF9D1A7B7D6C8CFB6A8D3EBB9DCC0EDB0ECB7A8A3A D0DEB6A9B0E6D7EED6D5B0E6A3A95FB8BDBCFE31>

SP_ SP_03 JAVA...6 SP_10 SQL...8 SP_ SP_ SP_ SP_ SP_ SP_ SP_ SP_04.NET...33 SP_02 C...37 SP_05

2011年招生简章

壹、簡介

考 試 日 期 :2016/04/24 教 室 名 稱 :602 電 腦 教 室 考 試 時 間 :09: 二 技 企 管 一 胡 宗 兒 中 文 輸 入 四 技 企 四 甲 林 姿 瑄 中 文 輸 入 二 技 企 管 一

WQ.s92

Microsoft Word - 宜中電子報-第11期 doc

11 天 山 区 区 环 卫 清 运 队 机 械 工 程 师 4011 C 1 不 限 不 限 机 电 具 有 两 以 工 作 经 12 天 山 区 乌 鲁 木 齐 市 第 15 小 会 计 4012 C 1 不 限 不 限 会 计 财 会 财 电 算 化 临 床 医 预 防 医 公 共 卫 生 与

教 务 信 息 教 学 日 常 运 行 工 作 4 月 6 日, 教 务 部 高 丽 琴 老 师 参 加 南 昌 市 教 育 局 2016 年 中 小 学 教 师 资 格 认 定 工 作 培 训 会 2016 年 教 师 资 格 认 定 工 作 是 从 省 考 向 国 考 过 渡 后 的 第 一 次

计算机网络与经济(二).doc

Microsoft PowerPoint ?????????3 [Compatibility Mode]

派遣公司人力資源管理措施對派遣人員離職傾向之影響:

Microsoft Word - 2B802內文.doc

東區校園中法治教育種子師資教學研習營

閱 讀 素 材 V.S 分 組 方 式 的 差 異 化 教 學 工 具 表 班 級 :( ) 閱 讀 素 材 V.S 分 組 方 式 獨 立 閱 讀 夥 伴 閱 讀 ( 同 質 性 ) 夥 伴 閱 讀 ( 異 質 性 ) 友 善 陪 伴 虛 心 受 教 國 語 日 報 新 聞 生 活 文 藝 兒 童

Microsoft Word - 1HF12序.doc

Microsoft Word - 讀報看科普─人體篇_橫_.doc

鍟嗗搧瑙傚療鈥㈤挗鏉

席 远 杨 一 人 了, 正 当 她 开 枪 时 却 发 现 子 弹 没 了 该 死, 只 能 赤 手 空 拳 了 洛 水 云 与 席 远 杨 交 起 手 来, 洛 水 云 出 手 招 招 致 命 想 那 席 远 杨 也 不 是 泛 泛 之 辈, 很 快 掌 握 了 洛 水 云 出 招 路 数 看

大 自 然 的 神 聖 旅 程 摘 記 大 師 的 心 靈 旅 程 文 編 輯 室 懷 著 忐 忑 的 心 情 進 入 大 自 然 多 年 來 的 戶 外 大 自 然 課 程, 我 們 一 向 風 雨 無 阻, 而 大 自 然 從 來 不 客 氣, 在 一 天 內 給 足 風 雨 豔 陽 和 陰 霾

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

汇集全球21位医生的经验和智慧,总结出最实用的专业建议,这些都是最值得你牢记的健康提醒

1 行 业 发 展 不 平 衡 我 国 房 地 产 中 介 服 务 业 起 步 较 晚, 专 业 分 工 程 度 和 国 外 发 达 国 家 相 比 还 有 很 大 差 距 房 地 产 中 介 服 务 行 业 的 发 展 水 平 与 房 地 产 开 发 行 业 的 市 场 化 水 平 密 切 相 关

(➂)11. 炎 炎 夏 日, 即 使 下 起 滂 沱 大 雨, 都 消 除 不 了 令 人 心 煩 的 暑 氣 這 句 話 主 要 想 表 達 什 麼? ➀ 夏 日 裡 經 常 下 著 滂 沱 大 雨, 令 人 心 煩 ➁ 下 著 滂 沱 大 雨 的 日 子, 可 以 消 除 暑 氣 ➂ 夏 日

範本檔

高雄市立五福國民中學九十四學年度第一學期第三次段考二年級本國語文學習領域試題卷

台北老爺校外實地參訪結案報告


糖尿病食譜




Microsoft Word 養生與保健_中山大學_講義


萬里社區老人健康照護手冊

Microsoft Word - 強制汽車責任保險承保及理賠作業處理辦法 doc

Microsoft Word - 06.Understanding of Pregnancy and Birth.doc

附 件 一 : 办 理 集 中 式 银 期 转 账 业 务 网 点 名 单 序 号 地 区 网 点 名 称 地 址 联 系 人 电 话 23 工 商 银 行 安 徽 省 铜 陵 百 大 支 行 铜 陵 市 长 江 东 路 50 号 鲁 桂 珍 工 商 银 行 安 徽

2. 二 年 級 吳 毓 秀 老 師 : 感 謝 午 餐 公 司 平 時 均 能 準 時 送 餐, 但 希 望 能 不 要 使 用 加 工 品, 且 學 生 反 映 希 望 能 多 加 蛋 品 的 食 物 3. 三 年 級 柯 阿 青 老 師 : 雞 肉 有 血 水 味, 請 午 餐 公 司 能 調

人 物 春 秋 杨 永 泰 将 其 削 藩 策 略 概 括 为 : 以 经 济 方 法 瓦 解 冯 玉 祥 的 第 二 集 团 军, 以 政 治 方 法 解 决 阎 锡 山 的 第 3 集 团 军, 以 军 事 方 法 解 决 李 宗 仁 的 第 四 集 团 军, 以 外 交 方 法 对 付 张 学

,,,,,,, (,, ),,,,,,,,,,,,,,, ,,, 4 11,, ( ),,,, ( ), :, ( ),,, 1995, 66 ; ( ),, 1996, , 3-4,,

2002 4,,, 1941,,,,,,,,,,,,,,,,,, : ;:, 1991,

ebook46-23

29 知 識 管 理 c.1 1 樓 新 到 館 圖 書 區 30 知 識 管 理 c.2 1 樓 新 到 館 圖 書 區 31 編 劇 與 腳 本 設 計

附表2:

VB控件教程大全

营 销 策 划 岗 部 门 招 聘 职 位 招 聘 人 数 岗 位 职 责 基 本 要 求 岗 位 任 职 要 求 6 参 与 项 目 产 品 研 究 客 户 需 求 研 究 竞 争 环 境 研 究 价 格 研 究 等 项 目 市 场 研 究 ; 7 公 司 经 纪 业 务 的 品 牌 管 理, 对

Microsoft Word - 书目文件.doc

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

003 就 是 取 各 種 學 說 療 法 的 優 點 來 治 療 的 意 思, 我 兼 取 中 西 醫 理 人 體 生 理 解 剖 經 脈 穴 位 易 理 學 說 臨 床 經 驗 等 各 種 學 理 經 驗 的 優 點, 並 且 採 用 氣 功 薰 臍 耳 穴 手 足 推 拿 按 摩 等 十 餘

Microsoft Word - 13院21号.doc

ASP

中 文 摘 要 智 慧 型 手 機 由 於 有 強 大 的 功 能, 以 及 優 渥 的 便 利 性, 還 能 與 網 路 保 持 隨 時 的 鏈 結 與 同 步 更 新, 因 此 深 受 廣 大 消 費 者 喜 愛, 當 然, 手 機 遊 戲 也 成 為 現 代 人 不 可 或 缺 的 娛 樂 之

Mechanical Science and Technology for Aerospace Engineering October Vol No. 10 Web SaaS B /S Web2. 0 Web2. 0 TP315 A

Azure_s

Microsoft Word - SDD.doc


untitled

目錄... ivv...vii Chapter DETECT

(DMO) 1 1 Microsoft Windows SQL Server 2005 SQL Server Analysis ServicesNotification Services SQL Server 8 SQL Server IP SQL Server 2005 SQL Server 20

臺銀人壽「98年九至十一職等人員甄試」

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

untitled

工程施工招标

天津天狮学院关于修订2014级本科培养方案的指导意见

if (command == null) throw new ArgumentNullException("command"); if (commandparameters!= null) foreach (SqlParameter p in commandparameters) if (p!= n

XXXXXXXX

<4D F736F F D20C9CFBAA3CAD0BCC6CBE3BBFAB5C8BCB6BFBCCAD4C8FDBCB6BFBCCAD4B4F3B8D95FBDA8D2E9B8E55F5F E646F63>

(HMI) IO A

序号

教案模板4-2

<4D F736F F F696E74202D20CECABEEDCCEEB1A8BCB0CFB5CDB3C6BDCCA8D3A6D3C3C5E0D1B52DB8F7B5D8B7BDB9FAD7CACEAFBCB0C6F3D2B52DBDB2D2E5>

專題(全)編頁.doc

SQL Server SQL Server SQL Mail Windows NT

计算机软件技术专业教学计划

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

1

鄞 州 职 业 教 育 中 心 学 校 鄞 州 职 业 高 级 中 学 鄞 州 古 林 职 业 高 级 中 学 慈 溪 职 业 高 级 中 学 慈 溪 锦 堂 职 业 高 级 中 学 余 姚 市 职 业 技 术 学 校 余 姚 市 职 成 教 中 心 学 校 余 姚 市 第 二 职 业 技 术 学

第一章

epub 61-2

ebook45-5

untitled

Transcription:

RedGres MSSQL 到 PostgreSQL 的应用迁移 Migration Application from MSSQL to PostgreSQL Jerray.Huang

主要内容 1. 2. 3. 4. 迁移总体分析 数据迁移 - 类型与函数 语法与存储过程迁移 数据提供程序迁移

为什么要迁移 操作系统的问题 版权问题 经济问题 稳定性问题 客户要求 政府要求 硬件升级 其它

MS-SQL 与 PostgreSQL 相似度 SQL 文类似吗? 数据类型类似吗? 存储过程类似? 函数类似吗? 调用方法类似吗?

迁移总体分析 数据库迁移 数据 SQL 语法存储过程触发器函数应用 表 数据类型 Provider 应用层

主要内容 1. 2. 3. 4. 迁移总体分析 数据迁移 - 类型与函数 语法与存储过程迁移 数据提供程序迁移

数据类型区别 据统计,SQL SERVER 共有 28 种类型, 对应 Postgresql 9.0, 有 13 种类型无对应名字

数据类型区别 例 1 类型 datetime 执行成功 执行失败 PostgreSQL 不存在 datetime 类型

数据类型区别 例 2 类型 nvarchar 执行成功 执行失败 PostgreSQL 不存在 nvarchar 类型

数据类型迁移 要进行两类数据库的迁移, 目前有两种迁移的方法 手动替换 使用 sed/awk 脚本自动替换

数据类型迁移 手动替换 例 1 datetime 方法 : 将 datetime 类型修改为 PostgreSQL 支持的 timestamp 类型 修改后执行成功

数据类型迁移 手动替换 例 2 nvarchar 方法 : 将 nvarchar 类型修改为 PostgreSQL 支持的 varchar 类型 修改后执行成功 注 : 由于 PostgreSQL 不分本地文本类型及国际文本类型, 是否国际化 取决于数据库的文本编码

数据类型迁移 脚本替换 例 datetime nvarchar 方法 : 通过 sed 脚本制定规则进行类型替换 将其保存为一脚本, 在 linux 下输入命令 :sed -f < 规则替换脚本名 > < 需要替换的 TSQL 脚本 >, 即完成 TSQL 脚本的自动类型转换

函数区别 据统计,SQL SERVER 中的函数共 204 个, 有 164 个函数是无法直接使用的.

函数区别 例 1 时间日期函数 getdate() 执行成功 失败, 提示函数不存在 day() 执行成功 失败, 提示函数不存在

函数区别 例 2 字符串函数 len() 执行成功 失败, 提示函数不存在 left() 执行成功 失败, 提示函数不存在

函数迁移 目前, 能够手动修改的函数主要为非系统级函数, 主要方法为 : 通过 CREATE FUNCTION 创建 SQL Server 同名功能函数

函数迁移 例 1 时间日期函数迁移 getdate() 修改后执行成功 day() 修改后执行成功

函数迁移 例 2 字符串函数迁移 len() 修改后执行成功 left 修改后执行成功

函数迁移 例 3 reverse 函数迁移 修改前执行失败 修改后执行成功

主要内容 1. 2. 3. 4. 迁移总体分析 数据迁移 - 类型与函数 语法与存储过程迁移 数据提供程序迁移

语法迁移

语法差异 -- 常规标识符 MS- 变量名定义对比 -PG

语法差异 -- 符号 一些符号在 SQL Server 和 PostgreSQL 两边具有不同的功能, 如中括号 ([]) 数字符号 (#) MS- 中括号对比 -PG

语法差异 -- 操作符 MS- 字符串连接对比 -PG

语法差异 --SQL 语法点 12% 其它 DDL 44% 11% 子句 SQL 语法 DML 2% 30% 存储过程 14% DBCC DCL 1%

举例 :TOP 关键字 SQL Server PostgreSQL

存储过程迁移 控制流程结构 分句 执行结果 存储过程迁移

存储过程迁移 -- 分句 SQL Server 的存储过程语句之间分句可以使用分号 ( ; ), 也可以是空格 PostgreSQL 的语句之间分句必须使用分号 ( ; )

举例 : 分句 MS- 分句对比 -PG

存储过程迁移 控制流程结构 SQL Server 控制流程结构 PostgreSQL 有该控制结构 PostgreSQL 没有该控制结构 功能不同 语法不同 修改功能 修改语法 修改存储过程

MS- 控制流程结构 -PG

存储过程迁移 -- 执行结果 PostgreSQL SQL Server

SQL Server 存储过程执行结果 PostgreSQL 函数执行结果 OUT 参数 函数返回值, 三者必须相对应并且仅有一个返回值 存储过程执行状态 存储过程内

主要内容 1. 2. 3. 4. 迁移总体分析 数据迁移 - 类型与函数 语法与存储过程迁移 数据提供程序迁移

Postgresql Data Provider.NET 平台访问 PG 数据库有多种, 其中 Npgsql 最为方便.NET ASP VB C/C++ Application MS Office Any COM Client SQL Pr For PG ODBC Pr OLEDB Pr ADO OLEDB-ODBC Bridge 需要提供相应的面向 PG 的 SQL Provider, 以实现兼容 Psqlodbc Npgsql Pgoledb PGNP PG libpq

Sqlclient 与 Npgsql Data Provider.NET 平台访问 SQL Server 数据库使用 Sqlcient, 与访问 PG 数据库的 Npgsql 比较 System.Data.SqlClient SqlClientFactory SqlCommand SqlCommandBuilder SqlConnection SqlConnectionStringBuilder SqlDataAdapter SqlDataReader SqlParameter... VS Npgsql NpgsqlFactory NpgsqlCommand NpgsqlCommandBuilder NpgsqlConnection NpgsqlConnectionStringBuilder NpgsqlDataAdapter NpgsqlDataReader NpgsqlParameter...

Sqlclient 迁移 Npgsql Data Provider Sqlcliet 连接 SQL Server 应用程序 Npgsql 连接 PG 应用程序 至少经过以下几个步骤 : (1) 修改引用

Sqlclient 迁移 Npgsql Data Provider Using System.Data.SqlClient; SqlConnection conn = new SqlConnection(connStr); conn.open(); SqlCommand command = new SqlCommand("insert into dbo.table1 values(1, 1)", conn); rowsaffected = command.executenonquery(); conn.close(); (2) 修改命名空间 (3) 修改相关类 (4) 去除语法差异 using Npgsql; NpgsqlConnection conn = new NpgsqlConnection(connStr); conn.open(); NpgsqlCommand command = new NpgsqlCommand("insert into table1 values(1, 1)", conn); rowsaffected = command.executenonquery() ; conn.close();

Sqlclient 迁移 Npgsql Data Provider SqlParameter param = new SqlParameter(ParamName, SqlDbType. NVarChar, Size); (5) 修改 db 类型 NpgsqlParameter param = new NpgsqlParameter (ParamName, NpgsqlDbType. Text, Size); String ConnStr = "Data Source=192.168.10.38;User ID=sa;Password=111111;In itial Catalog=dnt36; ; (6) 修改连接字符串 String ConnStr = "Server=127.0.0.1;Port=54 32;User Id=joe;Password=secret;Da tabase=joedata; ;

直接使用 Npgsql 开发.NET 程序 至少经过以下几个步骤 : 连接 NpgsqlConnection conn = new NpgsqlConnection(connStr); conn.open(); 创建命令 NpgsqlCommand command = new NpgsqlCommand(cmdStr,conn); 处理参数 command.parameters.add(new NpgsqlParameter("column1", NpgsqlDbType.Integer); 执行命令 NpgsqlDataReader dr = command.executereader(); while(dr.read()) { for (i = 0; i < dr.fieldcount; i++) } 关闭连接 conn.close();

还有没有更简单的方案 完全支持存储过程方式 支持 TSQL 的语法 支持类型的差异 支持最少的应用程序的变化 支持 所有 一键式完成所有的所有! 请兴趣的朋友下来可以跟我交流

RedGres