SQLSERVER导入数据到MySql,数据库相关问题
分类:面向对象

数据库相关难点那节将研究PHP和数据库之间最管见所及的主题材料。浮夸地说,PHP差不离能够操作后天市道上有的具有的数据库。

  php操作数据库有很八种办法,如mysql,mysqli,odbc,pdo等。MySQL 是 PHP 操作 MySQL 数据库最原始的 Extension。MySQLi 的 i 代表 Improvement ,提供了针锋相投进级的功效,就 Extension 来讲,本人也加进了安全性,那都只是操作特定项指标数据库的,当你转移其余门类的数据库时又得利用此外项目数据库的操作方法来操作数据库,也正是得重写代码,那是很辛勤的。有未有一种方法能够是通用型的,使得能够二次编写数次利用,包容种种数据库呢?答案当然是确定的,这就是obbc以致pdo了。pdo是php 5新出的用来操作种种数据库的恢弘,是专项于php的,就疑似于Java的jdbc。那几个前边再讲。今后先讲后生可畏讲odbc。

数据库迁移(SQLSECR-VVE君越导入数据到MySql)

背景:项目最初先时接受的是SQL Server数据库,业务须要现要将数据库调节为MySQL。英特网搜罗了一些科目,收拾了三个针锋相投简便易行方便的享受给大家。

1、先去mysql官方网址下载贰个odbc的驱动,因为MSsql一向未曾集成mysql的驱动,那几个东西须要独自下载并设置。点小编下载 小编下载的是windows解压缩的包Windows (x86, 64-bit), ZIP Archive,免安装版(据说青黛色版比安装版本要好)。

2、调整面板 —> 张开ODBC数据源

图片 1

万风流洒脱设置成功,在ODBC数据源驱动里面有2个照料选项,如下图:图片 2

3、点击上海体育场地的用户DSN,增多一个mysql的连天(前提是你已经设置了一个mysql的数据库卡塔尔国。

图片 3
双击之后现身上边包车型地铁提醒框:
图片 4图片 5

嘿,哈,至此已经打响了大意上了!

4、倘使是SQL server二〇〇一用DTS的话,就足以一贯用了。关键步骤在底下
图片 6

下边那几个分界面很精通了:

图片 7

ok导入达成了。
当然也能够应用文件dsn,把连接串存成三个文书,然后导入的时候选用文件dsn,只要找到连接串的门道就能够了,不在赘述。。

使得装完之后就能够起来导库了。

本身动用的是MySQL的Client的工具SQLyog,安装比较轻巧,作用分界面很像SQL Server 二〇一〇,易上手。(由于笔者安装的是汉语破解版,为了更方便人民群众日文版的童鞋阅读驾驭,截图就径直拿原博的来用了,嘻嘻,附原博地址 )

  1. SQLyog安装完事后新建三个空数据库,右键【Import】->【Import Extenal Data】;

图片 8

(Figure1:Import)

  1. 选择【Start a new job】,点击【下一步】;

图片 9

(Figure2:Start a new job)

  1. 上边正是DSN的设置分界面,要是您的下去列表中从未索要导出SQL Server数据库的DSN,那么必要经过【Create a New DSN】来创制贰个新的DSN连接到SQL Sever;

图片 10

(Figure3:Create a New DSN)

图片 11

(Figure4:创造新数据源)

图片 12

(Figure5:选用数据源类型)

  1. 把下边包车型大巴装置保存为叁个local.dsn文件;

图片 13

(Figure6:接纳数据源保存路线)

图片 14

(Figure7:选择SQL Server服务器)

图片 15

(Figure8:设置SQL Server帐号和密码)

图片 16

(Figure9:选择SQL Server数据库)

图片 17

(Figure10:测量试验数据源)

图片 18

(Figure11:测量试验成功)

  1. 当选【File DSN】,在浏览中甄选大家正好创设好的DSN,接着填写登陆到SQL Server的帐号和密码;

图片 19

(Figure12:选择DSN)

  1. 下一步,接收对象MySQL服务器,填写IP地址和帐号密码,并选择对象数据库;

图片 20

(Figure13:设置MySQL帐号和密码指标数据库)

图片 21

(Figure14:表拷贝)

  1. 这一步相同SQL Server的导入导出功能,这里能够拷贝贰个表只怕七个表。同不常间还是能够安装具体的过滤细节,里面富含了SQL Server表字段与MySQL表字段之间的对应关系【Map】,高等选项【Advanced】,过滤【WHERE】。大家眼下的需假设拷贝全体,所以前边的过滤步骤(第8步)能够不予构思, 直接点击“下一步”初步copy。早先的方方面面历程就好像为SQL Server与MySQL创设了三个时光隧道,这里设置SQL Server表与MySQL表之间的附和关系比作是在告诉它本身要传送的是何许东西(比如说人、照旧动物),告诉她后来就足以点击“下一步”早先时光穿梭了^w^

图片 22

(Figure15:接纳表对应涉及)

8. 下图Figure16,数据源【Source】,描述【Destination】,极度注意这里数据类型【Type】,这里的意味是改变目的的数据类型,不过没有必要跟指标表的相仿,因为这里是做为二个一时存款和储蓄的数据类型,雷同FindOn在SQL Server中是datetime,这里转变为MySQL的timestamp,其实MySQL指标表的数据类型是datetime,那样的安装也是能够调换来功的。

图片 23

(Figure16:表字段调换)

图片 24

(Figure17:高档选项)

图片 25

(Figure18:Error)

图片 26

(Figure19:Log日志消息)

图片 27

(Figure20:实行新闻)

图片 28

(Figure21:实践结果)

图片 29

(Figure22:原始SQL Server的数额列表)

图片 30

(Figure23:转移到MySQL的数据列表)

。相比较下Figure22与Figure23,开采咱们多少现已全部转移成功了! 有白璧微瑕还望各路大神多多指引^w^

背景 :项目最初先时选拔的是SQL Server数据库,业务供给现要将数据库调节为MySQL。网络采摘了一些教...

  1. 自个儿听大人讲PHP能够操作微软的SQL Server.应该如何做? 2. 自己能够操作微软 Access 数据库吗? 3. 作者晋级到了PHP 4, 今后本身的mysql总是告诉自个儿: "Warning: MySQL: Unable to save result set in ...". 那是怎么回事? 4. 安装完分享mysql扶植后, 黄金时代装入libphp4.so Apache 就 dumps core . 那几个标题得以修复吗? 5. 怎么自个儿总得到那样的谬误消息: : "Warning: 0 is not a MySQL result index in file on line x" or "Warning: Supplied argument is not a valid MySQL result resource in file on line x? 1. 笔者听别人说PHP能够操作微软的SQL Server.应该怎么办?在Windows平台下, 你只要利用包里所含的ODBC驱动程序就能够了。 在Unix平台下, 你可以应用Sybase-CT driver 来操作 Microsoft SQL Servers。因为它们的磋商(最少绝大部份的产物卡塔尔(قطر‎ 是全然合作的. Sybase 有二个无偿的 Linux systems 版本. 对其余一些的Unix系统来说,你也许供给调换Sybase,以得到精确的库文件 . 也能够参见上边一些主题材料的答案。 2. 本人能够操作 Microsoft Access数据库吗?是的。如若您是在 Windows 9x/Me, 或 NT/二零零二下运维,你早就有了具备必得的工具。 你能够运用ODBC 和 Microsoft's ODBC drivers for Microsoft Access databases。 如若你是在 Unix 下运作PHP,想要和Windows下的 MS Access 通信,那么你供给Unix ODBC drivers. OpenLink Software 提供了二个 Unix-based ODBC drivers。 你能够下载二个试用的 pilot 程序, 商业版本的价钱稳固在 $675 别的一种艺术是使用带 Windows ODBC驱动的 SQL server来存诸数据,然后你能够用Microsoft Access (ODBC卡塔尔国 and PHP (内置SQL Server驱动卡塔尔来操作这几个库。也许使用另意气风发种文件格式, Access 和 PHP 都得以展开的, 比方操作系统文件或dBase 数据库等。关于那 OpenLink software的Tim Hayes 写了之类的文字: 在您能够利用PHP直接操作风流倜傥种数据Curry,使用其它的库作为中间件不是二个好的主心骨。 --比如用OpenLink's 驱动. 即使您确实需求中间件库, OpenLink 今后发表了 Virtuoso (虚构数据库引擎卡塔尔, 能够运作在NT, Linux 别的的 unix平台.请参阅 website 无偿下载.另三个打响的楷模子是使用Windows下的Mysql(通过mysql ODBCState of Qatar,来同步化 Access 数据库. Steve Lawrence 写到: 依据Mysql的引导安装你的阳台下的Mysql. 最新版本能够从 获得(从您近日的镜像点!State of Qatar. 除了安装三个Mysql的数据库,无需此外特其他布局, 设置客户帐号, 你应有把客商的主机域 设为“%”, 确认你的劳动器名、数据库名等在Mysql的站点上下找Mysql ODBC驱动,最新的本子应该是 myodbc-2_50_19-win95.zip (NT卡塔尔国。在您的Windows下安装它. 你能够用工具包里的工具测量检验安装是或不是中标。 在您的 ODBC 微电脑(调控面板里卡塔尔(قطر‎里创造七个顾客和系统的dsn。建贰个DSN名, 输入你的主机名, 客商名, 口令,端口号, 等您在率先步里设置的数额。 完全安装Access, 这一步让你安装必得的工具驱动.. 至少你要求管理总是的数据库表。 今后最风趣的事时有产生了! 建多个新的Access数据库。 在表里右键,选"link Tables"(链接表State of Qatar, 也许在 “文件” 菜单 下, 选“ Get External Data ” 然后“ Link Tables”. 当对话框张开时,选拔文件类型: ODBC. 选用系统DSN,你在第三步创设的DSN名. 然后选要链接的表。按“鲜明”, 哦! 你今后能够在您的Mysql微机上打开这几个表, 能够增添/编辑/删除 数据! 你也足以创设查询, 输入/输出表到 MySQL, 创建表单及报表,等. Tips and Tricks: 你能够创造Access表,把它输出到 MySQL, 也能够链接回来. 它会使创办表快些. 当您在Access里创制表时, 必得安装主键。 同样,在Mysql里连到access时,也要有主键。 即使您在 MySQL时选了一张表, 你不能不在Access里再一次链接.去add-ins链接表微型机 3. 作者进级到了PHP 4, 以后自个儿的mysql总是告诉自个儿: "Warning: MySQL: Unable to save result set in ...". 那是怎么回事? 大多数如此的难点,是因为 PHP 4 编写翻译选项 '--with-mysql'未有评释你的Mysql的门径。 那样PHP就能够利用它内建的MySQL库. 假如您的系统运转在此样的阳台下, PHP 3 作为 Apache 模块, 可能 auth-mysql, 它们采用此外版本的Mysql驱动,那样在四个不一致版本的Mysql客商端驱动上就能存在矛盾。 重新编写翻译PHP 4, 增添Mysql的路线消息, '--with-mysql=/your/path/to/mysql' 平日都能缓慢解决那些标题。 4. 装置完分享mysql支持后, 黄金年代装入libphp4.so Apache 就 dumps core . 那么些主题素材得以修复吗? 要是你的Mysql是用 pthreads 连接的,将会生出这种景色。请使用 ldd。 假诺已采纳, grab the MySQL tarball and 重新编写翻译, 或 从源代码rpm编写翻译,移去相关文件里的张开 threaded client 代码的开关。借使上述的二种形式都不可能修补那么些荒诞,那么重新编写翻译新的PHP库辅助新的Mysql。
  2. 何以自个儿总获得这么的错误消息: : "Warning: 0 is not a MySQL result index in on line " or "Warning: Supplied argument is not a valid MySQL result resource in on line ? 你正在利用的结果集变量值是0。0意味着 因为某种原因你的查询战败了。在您拿到结果集以前,你必需检查提交查询战败的案由。准确的写法应该如下: $result = mysql_query("SELECT * FROM tables_priv");if (!$result) {echo mysql_error();exit;}or $result = mysql_query("SELECT * FROM tables_priv")or die("Bad query: ".mysql_error());

  什么是ODBC?

** ODBC 是多少个软件驱动程序系统,用于连接编制程序语言与数量存款和储蓄。ODBC 是叁个无偿的开放源码系统,出现于 一九九五年,它试图通过编制程序语言和数据库查询访谈来标准连接格局,例如功效和配备。

  ODBC 的效果是当作接口或连接器,它富有双重设计目的:首先,对于 ODBC 系统,它充任的是编制程序语言系统,其次,对于数据存款和储蓄系统,它当作的是 ODBC 系统。所以,ODBC 必要八个 “对 ODBC 来说是编制程序语言” 的驱动程序(举个例子PHP-ODBC 库)和二个 “对数码存款和储蓄系统来讲是 ODBC” 的驱动程序(譬喻MySQL-ODBC 库)。除了 ODBC 系统自个儿之外,ODBC 还足以管理数据源的配置,允许数据源和编制程序语言之间存在模糊性。

怎么选取odbc?

当使用odbc时,PHP 开荒变得 “与数据库连接器毫不相关”。它对数据库(比如MySQL、PostgreSQL、SQLite、Microsoft SQL Server®、IBM® DB2®、Sybase、OpenLink Virtuoso、FileMaker 和 Microsoft Office® Access®)使用像odbc_query()这么的函数。仍可以够将 ODBC 用于 CSV 和 Excel 电子表格,具体取决夏梅确的 ODBC 驱动程序设置。下边看看怎么利用:

1.率先odbc扩张并拉开,通过phpinfo(卡塔尔(قطر‎查看见该模块何况状态为enabled;

  2.连接到 ODBC

  odbc_connect() 函数用于连接到 ODBC 数据源。该函数有四个参数:数据源名、用户名、密码以及可选的指针类型。

  odbc_exec() 函数用于执行 SQL 语句。

  3.取回记录

  //odbc_fetch_row() 函数用于从结果集中返回记录。如果能够返回行,则函数返回 true,否则返回 false。

  //该函数有两个参数:ODBC 结果标识符和可选的行号:

  odbc_fetch_row

  4.从记录中取回字段

  odbc_result() 函数用于从记录中读取字段。该函数有两个参数:ODBC 结果标识符和字段编号或名称。  下面的代码行从记录中返回第一个字段的值:     $compname=odbc_result($rs,1);
  下面的代码行返回名为 "CompanyName" 的字段的值:
      $compname=odbc_result($rs,"CompanyName");

  5.关闭 ODBC 连接

  odbc_close() 函数用于关闭 ODBC 连接。    odbc_close;

注:其余操作函数:

  

  ODBC 实例

  上边包车型大巴实例显示了什么样率先创制三个数据库连接,接着创制三个结出集,然后在 HTML 表格中展现数据。

<html><body><?php$conn=odbc_connect('northwind','','');if (!$conn){   
   exit("Connection Failed: " . $conn);}   $sql="SELECT * FROM customers";   $rs=odbc_exec($conn,$sql);  if (!$rs){ 
      exit("Error in SQL");}     echo "<table><tr>";     echo "<th>Companyname</th>";     echo "<th>Contactname</th></tr>";     while (odbc_fetch_row($rs)){      $compname=odbc_result($rs,"CompanyName");      $conname=odbc_result($rs,"ContactName");
      echo "<tr><td>$compname</td>";      echo "<td>$conname</td></tr>";  }  odbc_close($conn);  echo "</table>";?></body></html>

本文由10bet手机官网发布于面向对象,转载请注明出处:SQLSERVER导入数据到MySql,数据库相关问题

上一篇:一个阿拉伯数字转中文数字的函数,php下实现一个阿拉伯数字转中文数字的函数 下一篇:数据库性能提升的几个方面,常用sql语句整理
猜你喜欢
热门排行
精彩图文