ios怎么获取sql表中的数据

ios怎么获取sql表中的数据,第1张

查一下FMDB的文档,里面有这一个例子:

[quote]

FMResultSet s = [db executeQuery:@"SELECT COUNT() FROM myTable"];

if ([s next]) {

int totalCount = [s intForColumnIndex:0];

}

[/quote

这不就有了。

SQL Server只能在Windows下运行,不能在苹果系统下安装运行。

SQL Server 具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。

它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2版本。

在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了,Microsoft 将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本。Sybase 则较专注于SQL Server在UNⅨ *** 作系统上的应用。

扩展资料

sql server的优缺点

SQL Server能够满足今天的商业环境要求不同类型的数据库解决方案。它一种应用广泛的数据库管理系统,具有许多显著的优点:易用性、适合分布式组织的可伸缩性、用于决策支持的数据仓库功能、与许多其他服务器软件紧密关联的集成性、良好的性价比等。

性能、可伸缩性及可靠性是基本要求,而进入市场时间也非常关键。

SQL Server的优点众多,但是Microsoft SQL Server和其他数据库产品相比也存在着以下劣势:

1、开放性。只能运行在微软的windows平台,没有丝毫的开放性可言。

2、可伸缩性,并行性。并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。

3、性能稳定性。SQLServer当用户连接多时性能会变的很差,并且不够稳定。

4、使用风险。SQLServer完全重写的代码,经历了长期的测试,不断延迟,许多功能需时间来证明。并不十分兼容早期产品。使用需要冒一定风险。

5、客户端支持及应用模式。只支持C/S模式。

你是不是没有链接sql的库?

可以到project里面选择你的程序,在build phases里面有一个link binary with libraries,点开那个,然后添加文件,会d出来一个sheet,然后scroll到下面,选择libsqlite3dylib,就可以了,那个30似乎也可以

1先走控制面板里找到iis安装,步骤如下

点“程序”,

点“打开或关闭Windows功能”

在“Internet information servers 可承载的web核心”上打勾,点确定,ok

2 安装vs2008sp1,在微软官网可下载,要先安装vs后才可以安装sp1,下载安装

打开

安装vs sp1成功,继续sqlservers2008安装:

安装SQL2008的过程与SQL2005的程序基本一样,只不过在安装的过程中部分选项有所改变,当然如果只熟悉SQL2000安装的同志来说则是一个革命性的变动。

开始学习数据库,准备安装 SQL Server 2008,在微软网站找到了下载地址,328G,之所以这么大,是因为该 ISO 文件同时包含了 IA64、64、x86 三种版本,x86 约占 15G 多一些

如果你的机器上已安装有 Visual Studio 2008,在安装之前最好安装 Visual Studio 2008 SP1,为什么这么做?偶也不知道,只是 SQL Server 2008 发行说明中有此一条,我也没试过不安装 SP1 有什么后果。

开始安装,启动,出现了一个 CMD 窗口,真不知道微软的开发人员是怎么想的,用命令行程序做载入和系统检查,而且这个 CMD 窗口会一直持续到安装结束。 安装程序风格变化很大,相较 2005 也有很大变化:

包含了有关 SQL Server 2008 的各种信息,很直观,开始安装选择:全新 SQL Server 独立安装或向现有安装添加功能;

(详情见内文) 一些必需条件检查;

然后是产品序列号输入,这也是 SQL Server 首次采用此种授权管理方式;从微软网站下载的版本其实和正式版本无异,你如果有正式的序列号,在此输入即可成为正式版;当然在此处你也可以选择安装企业评估版,待以后通过上图的安装中心界面可将试用版升级为其它

版本的正式版。这里,我们输入企业版序列号:JD8Y6-HQG69-P9H84-XDTPG- 34MBB;

SQL Server 2008 企业版授权协议;

这里需要一些组件的安装

点击安装过后,有一小段等待的时间

另外一些必要条件的检查

安装组件选择,默认情况下什么也没有选中,根据情况选择即可,一般情况下,不明白的就全选;

配置实例并选择安装路径;从图中可以看出,虽然实例安装到了 D 盘,但只用了 784M,将近 2G 的内容都安装到了 C 盘,因此我们选择直接安装在C盘默认文件夹下;

这里为实例配置,我们只需选择默认的,然后”下一步”;

显示安装后预计战胜的硬盘空间

配置各 SQL Server 服务的帐户名和启动类型,对开发人员来说非常实用;

配置身份验证模式,和以往版本没有什么不同;但新增了一个”指定 SQL Server 管理员”的必填项,该管理员是指 Windows 帐户,你可以新建一个专门用于 SQL Server 的帐户,或点击”添加当前用户”添加当前用户为管理员;同时”数据目录”页可指定各种类型数据文件的存储位置,不过我们这里只需要选择”添加当前用户”,其他的默认就好;

接下来,根据选择项目,会有一些不同的项目要配置,对于非专业人员来说,基本原则就是”添加当前用户”,这样简洁并且不易出错;

Reporting Sevice配置,直接默认,选择”下一步”;

错误和使用情况报告,这里我们不选择向微软发送错误报告,直接”下一步”;

再一次对必要信息进行检查;

安装信息汇总,安装前的最后一步

开始安装并安装完成用时大约 1 小时,当然这取决于你安装的组件。

安装后运行图例 安装成功

最近刚在Mac安装好MySQL学习练习中,贴个精简版安装教程,希望可以帮助到需要的人。

安装教程

推荐书籍

练习题库

首先安装教程如下:

1、进入mysql官方网站(>

同步两个SQLServer数据库

如何同步两个sqlserver数据库的内容程序代码可以有版本管理cvs进行同步管理,可是数据库同步就非常麻烦,只能自己改了一个后再去改另一个,如果忘记了更改另一个经常造成两个数据库的结构或内容上不一致各位有什么好的方法吗

一、分发与复制

用强制订阅实现数据库同步 *** 作 大量和批量的数据可以用数据库的同步机制处理:

//

说明:

为方便 *** 作,所有 *** 作均在发布服务器(分发服务器)上 *** 作,并使用推模式

在客户机器使用强制订阅方式。

二、测试通过

1:环境

服务器环境:

机器名称: zehuadb

*** 作系统:windows 2000 server

数据库版本:sql 2000 server 个人版

客户端

机器名称:zlp

*** 作系统:windows 2000 server

数据库版本:sql 2000 server 个人版

2:建用户帐号

在服务器端建立域用户帐号

我的电脑管理->本地用户和组->用户->建立

username:zlp

userpwd:zlp

3:重新启动服务器mssqlserver

我的电脑->控制面版->管理工具->服务->mssqlserver 服务

(更改为:域用户帐号,我们新建的zlp用户 \zlp,密码:zlp)

4:安装分发服务器

a:配置分发服务器

工具->复制->配置发布、订阅服务器和分发->下一步->下一步(所有的均采用默认配置)

b:配置发布服务器

工具->复制->创建和管理发布->选择要发布的数据库(sz)->下一步->快照发布->下一步->选择要发布的内容->下一步->下一步->下一步->完成

c:强制配置订阅服务器(推模式,拉模式与此雷同)

工具->复制->配置发布、订阅服务器和分发->订阅服务器->新建->sql server数据库->输入客户端服务器名称(zlp)->使用sql server 身份验证(sa,空密码)->确定->应用->确定

d:初始化订阅

复制监视器->发布服务器(zehuadb)->双击订阅->强制新建->下一步->选择启用的订阅服务器->zlp->下一步->下一步->下一步->下一步->完成

5:测试配置是否成功

复制监视器->发布衿zehuadb)->双击sz:sz->点状态->点立即运行代理程序

查看:

复制监视器->发布服务器(zehuadb)->sz:sz->选择zlp:sz(类型强制)->鼠标右键->启动同步处理

如果没有错误标志(红色叉),恭喜您配置成功

6:测试数据

在服务器执行:

选择一个表,执行如下sql: insert into wq_newsgroup_s select '测试成功',5

复制监视器->发布服务器(zehuadb)->sz:sz->快照->启动代理程序 ->zlp:sz(强制)->启动同步处理

去查看同步的 wq_newsgroup_s 是否插入了一条新的记录

测试完毕,通过。

7:修改数据库的同步时间,一般选择夜晚执行数据库同步处理

(具体 *** 作略) :d

/

注意说明:

服务器一端不能以(local)进行数据的发布与分发,需要先删除注册,然后新建注册本地计算机名称

卸载方式:工具->复制->禁止发布->是在"zehuadb"上静止发布,卸载所有的数据库同步配置服务器

注意:发布服务器、分发服务器中的sqlserveragent服务必须启动

采用推模式: "d:\microsoft sql server\mssql\repldata\unc" 目录文件可以不设置共享

拉模式:则需要共享~!

/

少量数据库同步可以采用触发器实现,同步单表即可。

三、配置过程中可能出现的问题

在sql server 2000里设置和使用数据库复制之前,应先检查相关的几台sql server服务器下面几点是否满足:

1、mssqlserver和sqlserveragent服务是否是以域用户身份启动并运行的(\administrator用户也是可以的)

如果登录用的是本地系统帐户local,将不具备网络功能,会产生以下错误:

进程未能连接到distributor '@server name'

(如果您的服务器已经用了sql server全文检索服务, 请不要修改mssqlserver和sqlserveragent服务的local启动。

会照成全文检索服务不能用。请换另外一台机器来做sql server 2000里复制中的分发服务器。)

修改服务启动的登录用户,需要重新启动mssqlserver和sqlserveragent服务才能生效。

2、检查相关的几台sql server服务器是否改过名称(需要srvid=0的本地机器上srvname和datasource一样)

在查询分析器里执行:

use master

select srvid,srvname,datasource from sysservers

如果没有srvid=0或者srvid=0(也就是本机器)但srvname和datasource不一样, 需要按如下方法修改:

use master

go

-- 设置两个变量

declare @serverproperty_servername varchar(100),

@servername varchar(100)

-- 取得windows nt 服务器和与指定的 sql server 实例关联的实例信息

select @serverproperty_servername = convert(varchar(100), serverproperty('servername'))

-- 返回运行 microsoft sql server 的本地服务器名称

select @servername = convert(varchar(100), @@servername)

-- 显示获取的这两个参数

select @serverproperty_servername,@servername

--如果@serverproperty_servername和@servername不同(因为你改过计算机名字),再运行下面的

--删除错误的服务器名

exec sp_dropserver @server=@servername

--添加正确的服务器名

exec sp_addserver @server=@serverproperty_servername, @local='local'

修改这项参数,需要重新启动mssqlserver和sqlserveragent服务才能生效。

这样一来就不会在创建复制的过程中出现18482、18483错误了。

3、检查sql server企业管理器里面相关的几台sql server注册名是否和上面第二点里介绍的srvname一样

不能用ip地址的注册名。

(我们可以删掉ip地址的注册,新建以sql server管理员级别的用户注册的服务器名)

这样一来就不会在创建复制的过程中出现14010、20084、18456、18482、18483错误了。

4、检查相关的几台sql server服务器网络是否能够正常访问

如果ping主机ip地址可以,但ping主机名不通的时候,需要在

winnt\system32\drivers\etc\hosts (win2000)

windows\system32\drivers\etc\hosts (win2003)

文件里写入数据库服务器ip地址和主机名的对应关系。

例如:

127001 localhost

192168035 oracledb oracledb

192168065 fengyu02 fengyu02

2028410193 bj_db bj_db

或者在sql server客户端网络实用工具里建立别名,例如:

5、系统需要的扩展存储过程是否存在(如果不存在,需要恢复):

sp_addextendedproc 'xp_regenumvalues',@dllname ='xpstardll'

go

sp_addextendedproc 'xp_regdeletevalue',@dllname ='xpstardll'

go

sp_addextendedproc 'xp_regdeletekey',@dllname ='xpstardll'

go

sp_addextendedproc xp_cmdshell ,@dllname ='xplog70dll'

接下来就可以用sql server企业管理器里[复制]-> 右键选择 ->[配置发布、订阅服务器和分发]的图形界面来配置数据库复制了。

下面是按顺序列出配置复制的步骤:

1、建立发布和分发服务器

[欢迎使用配置发布和分发向导]->[选择分发服务器]->[使"@servername"成为它自己的分发服务器,sql server将创建分发数据库和日志]

->[制定快照文件夹]-> [自定义配置] -> [否,使用下列的默认配置] -> [完成]

上述步骤完成后, 会在当前"@servername" sql server数据库里建立了一个distribion库和 一个distributor_admin管理员级别的用户(我们可以任意修改密码)。

服务器上新增加了四个作业:

[ 代理程序历史记录清除: distribution ]

[ 分发清除: distribution ]

[ 复制代理程序检查 ]

[ 重新初始化存在数据验证失败的订阅 ]

sql server企业管理器里多了一个复制监视器, 当前的这台机器就可以发布、分发、订阅了。

我们再次在sql server企业管理器里[复制]-> 右键选择 ->[配置发布、订阅服务器和分发]

我们可以在 [发布服务器和分发服务器的属性] 窗口-> [发布服务器] -> [新增] -> [确定] -> [发布数据库] -> [事务]/[合并] -> [确定] -> [订阅服务器] -> [新增] -> [确定]

把网络上的其它sql server服务器添加成为发布或者订阅服务器

新增一台发布服务器的选项:

我这里新建立的jin001发布服务器是用管理员级别的数据库用户test连接的,

到发布服务器的管理链接要输入密码的可选框, 默认的是选中的,

在新建的jin001发布服务器上建立和分发服务器fengyu/fengyu的链接的时需要输入distributor_admin用户的密码。到发布服务器的管理链接要输入密码的可选框,也可以不选,也就是不需要密码来建立发布到分发服务器的链接(这当然欠缺安全,在测试环境下可以使用)。

2、新建立的网络上另一台发布服务器(例如jin001)选择分发服务器

[欢迎使用配置发布和分发向导]->[选择分发服务器]

-> 使用下列服务器(选定的服务器必须已配置为分发服务器) -> [选定服务器](例如fengyu/fengyu)

-> [下一步] -> [输入分发服务器(例如fengyu/fengyu)的distributor_admin用户的密码两次]

-> [下一步] -> [自定义配置] -> [否,使用下列的默认配置]

-> [下一步] -> [完成] -> [确定]

建立一个数据库复制发布的过程:

[复制] -> [发布内容] -> 右键选择 -> [新建发布]

-> [下一步] -> [选择发布数据库] -> [选中一个待发布的数据库]

-> [下一步] -> [选择发布类型] -> [事务发布]/[合并发布]

-> [下一步] -> [指定订阅服务器的类型] -> [运行sql server 2000的服务器]

-> [下一步] -> [指定项目] -> [在事务发布中只可以发布带主键的表] -> [选中一个有主键的待发布的表]

->[在合并发布中会给表增加唯一性索引和 rowguidcol 属性的唯一标识符字段[rowguid],默认值是newid()]

(添加新列将: 导致不带列列表的 insert 语句失败,增加表的大小,增加生成第一个快照所要求的时间)

->[选中一个待发布的表]

-> [下一步] -> [选择发布名称和描述] ->

-> [下一步] -> [自定义发布的属性] -> [否,根据指定方式创建发布]

-> [下一步] -> [完成] -> [关闭]

发布属性里有很多有用的选项:设定订阅到期(例如24小时)

设定发布表的项目属性:

常规窗口可以指定发布目的表的名称,可以跟原来的表名称不一样。

下图是命令和快照窗口的栏目

( sql server 数据库复制技术实际上是用insert,update,delete *** 作在订阅服务器上重做发布服务器上的事务 *** 作

看文档资料需要把发布数据库设成完全恢复模式,事务才不会丢失

但我自己在测试中发现发布数据库是简单恢复模式下,每10秒生成一些大事务,10分钟后再收缩数据库日志,

这期间发布和订阅服务器上的作业都暂停,暂停恢复后并没有丢失任何事务更改 )

发布表可以做数据筛选,例如只选择表里面的部分列:

例如只选择表里某些符合条件的记录, 我们可以手工编写筛选的sql语句:

发布表的订阅选项,并可以建立强制订阅:

成功建立了发布以后,发布服务器上新增加了一个作业: [ 失效订阅清除 ]

分发服务器上新增加了两个作业:

[ jin001-dack-dack-5 ] 类型[ repl快照 ]

[ jin001-dack-3 ] 类型[ repl日志读取器 ]

上面蓝色字的名称会根据发布服务器名,发布名及第几次发布而使用不同的编号

repl快照作业是sql server复制的前提条件,它会先把发布的表结构,数据,索引,约束等生成到发布服务器的os目录下文件

(当有订阅的时候才会生成, 当订阅请求初始化或者按照某个时间表调度生成)

repl日志读取器在事务复制的时候是一直处于运行状态。(在合并复制的时候可以根据调度的时间表来运行)

建立一个数据库复制订阅的过程:

[复制] -> [订阅] -> 右键选择 -> [新建请求订阅]

-> [下一步] -> [查找发布] -> [查看已注册服务器所做的发布]

-> [下一步] -> [选择发布] -> [选中已经建立发布服务器上的数据库发布名]

-> [下一步] -> [指定同步代理程序登录] -> [当代理程序连接到代理服务器时:使用sql server身份验证]

(输入发布服务器上distributor_admin用户名和密码)

-> [下一步] -> [选择目的数据库] -> [选择在其中创建订阅的数据库名]/[也可以新建一个库名]

-> [下一步] -> [允许匿名订阅] -> [是,生成匿名订阅]

-> [下一步] -> [初始化订阅] -> [是,初始化架构和数据]

-> [下一步] -> [快照传送] -> [使用该发布的默认快照文件夹中的快照文件]

(订阅服务器要能访问发布服务器的repldata文件夹,如果有问题,可以手工设置网络共享及共享权限)

-> [下一步] -> [快照传送] -> [使用该发布的默认快照文件夹中的快照文件]

-> [下一步] -> [设置分发代理程序调度] -> [使用下列调度] -> [更改] -> [例如每五分钟调度一次]

-> [下一步] -> [启动要求的服务] -> [该订阅要求在发布服务器上运行sqlserveragent服务]

-> [下一步] -> [完成] -> [确定]

成功建立了订阅后,订阅服务器上新增加了一个类别是[repl-分发]作业(合并复制的时候类别是[repl-合并])

它会按照我们给的时间调度表运行数据库同步复制的作业。

3、sql server复制配置好后, 可能出现异常情况的实验日志:

1发布服务器断网,sql server服务关闭,重启动,关机的时候,对已经设置好的复制没有多大影响

中断期间,分发和订阅都接收到没有复制的事务信息

2分发服务器断网,sql server服务关闭,重启动,关机的时候,对已经设置好的复制有一些影响

中断期间,发布服务器的事务排队堆积起来

(如果设置了较长时间才删除过期订阅的选项, 繁忙发布数据库的事务日志可能会较快速膨胀),

订阅服务器会因为访问不到发布服务器,反复重试

我们可以设置重试次数和重试的时间间隔(最大的重试次数是9999, 如果每分钟重试一次,可以支持约69天不出错)

分发服务器sql server服务启动,网络接通以后,发布服务器上的堆积作业将按时间顺序作用到订阅机器上:

会需要一个比较长的时间(实际上是生成所有事务的insert,update,delete语句,在订阅服务器上去执行)

我们在普通的pc机上实验的58个事务100228个命令执行花了7分28秒

3订阅服务器断网,sql server服务关闭,重启动,关机的时候,对已经设置好的复制影响比较大,可能需要重新初试化

我们实验环境(订阅服务器)从18:46分意外停机以, 第二天8:40分重启动后, 已经设好的复制在8:40分以后又开始正常运行了, 发布服务器上的堆积作业将按时间顺序作用到订阅机器上, 但复制管理器里出现快照的错误提示, 快照可能需要重新初试化,复制可能需要重新启动(我们实验环境的机器并没有进行快照初试化,复制仍然是成功运行的)

4、删除已经建好的发布和定阅可以直接用delete删除按钮

我们最好总是按先删定阅,再删发布,最后禁用发布的顺序来 *** 作。

如果要彻底删去sql server上面的复制设置, 可以这样 *** 作:

[复制] -> 右键选择 [禁用发布] -> [欢迎使用禁用发布和分发向导]

-> [下一步] -> [禁用发布] -> [要在"@servername"上禁用发布]

-> [下一步] -> [完成禁用发布和分发向导] -> [完成]

我们也可以用t-sql命令来完成复制中发布及订阅的创建和删除, 选中已经设好的发布和订阅, 按属标右键可以[生成sql脚本]。(这里就不详细讲了, 后面推荐的网站内有比较详细的内容)

当你试图删除或者变更一个table时,出现以下错误

server: msg 3724, level 16, state 2, line 1

cannot drop the table 'object_name' because it is being used for replication

比较典型的情况是该table曾经用于复制,但是后来又删除了复制。

处理办法:

select from sysobjects where replinfo >'0'

sp_configure 'allow updates', 1

go

reconfigure with override

go

begin transaction

update sysobjects set replinfo = '0' where replinfo >'0'

commit transaction

go

rollback transaction

go

sp_configure 'allow updates', 0

go

reconfigure with override

go

以上就是关于ios怎么获取sql表中的数据全部的内容,包括:ios怎么获取sql表中的数据、SQL Server只能在Windows下运行吗,能不能在苹果系统下安装运行、请问怎么在苹果下安装sqlit3 本人新手 不是很懂 需要那些文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10191759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存