ios資料庫開發
『壹』 如何快速學會ios開發
篇一:分享簡單學習iOS開發的方法
隨著3G技術的普及與智能終端的快速發展,逐漸的移動開發者最受企業的歡迎,特別是iOS軟體開發人才更是得到了企業的青睞,從現在情況來看,iOS培訓和iOS軟體開發人才有些嚴重供不應求。
容易上手的,學習iOS要注意到每個細節,因為每個細小的知識都有可能改變這個程序,如果有一點的錯誤都會導致整個程序無法運行,其實學習iOS和上學學習一樣,都是從最基礎的開始學起,慢慢的積累知識。如果想學好iOS,現在單單在網上學習是有咐答雀點out了,可以選擇零學費,就能夠入學的培訓舉渣學校學習一下,如果沒有合適的話,可以了解一下培訓機構,找一個口碑不錯的,這樣結合理論和實際才能夠學好iOS。
在課前一定要做衡早好准備資料及准備內容,要知道老師要講什麼?先做好預習,這樣有準備的上戰場才會學得更好,在課堂上認真聽老師講課,在電腦上操作老師所講的內容,如果有不懂的一定要及時向講師問清是怎麼回事,課後多做幾次練習,那麼就不是問題了。3
如果聽不懂怎麼辦?
這些現象很正常,誰也不敢保證講師所講的知識都能夠無一不漏的聽明白,能夠在電腦上操作出來,那麼如果遇到不懂得就要直接問,還可以先預習今後再去學習理論課的時分就能夠有對於性的去聽了,教師講到你現已把握的內容時,你能夠注意聽一下講師是不是有了新的見解及創新的認識、講的和你了解到的是不是一樣,如果不太一樣的話,那麼就要做下記號,課下與老師溝通,承認這個
常識點的真實意義;若是講到你預習時不會的常識點的話,你更大概仔細的去聽了,認真的去了解一下到底是怎麼個意思?
篇二:如何快速學會ios開發
針對學習iOS開發怎麼樣?想學iOS開發如何才能快速學習?沒有基礎怎麼快速學習iOS開發等問題,藍鷗iOS培訓專業老師指點明燈!看著身邊學iOS開發的人拿了高工資,很多人按捺不住了。但菜鳥真的也可以成為iOS開發軟體工程師嗎?只要有恰當的學習方法,學習軟體開發並不難。對於軟體初學者來說,主要做到以下幾點:
一、打好基礎,不能一步登天
學習iOS,首先要學習C語言,很多人跳過C,直接學Objective-C,這是極不可取的。Objective-C是C的超集,必須有C的基礎,學習才能更好更快的進行。不要一開始就盲目崇拜別人的大項目,要從小項目開始,一步一個腳印,遇到困難不要退縮,解決困難也是學習的過程。
二、必須如蜜蜂,多方採集花蜜
在學習初期對於iOS沒有概念,最好的辦法就是多看別人的代碼,多吸取別人的養分。遇到不懂得問題不要跳過,而是要多問,多向人請教,學習別人的思路,吸取有益的知識,並做好學習筆記。積少成多,會成為你不小的財富。
三、勤動腦,多動手,有創新精神
軟體開發者是為了讓軟體實現更豐富更強大的功能,必須有很強的實際操作能力。作為iOS開發工程師,不但要了解用戶需要哪些功能,有哪些需求,還要多動腦,開發出符合市場以及時代需求的項目。這都需要軟體開發者具備很好創新精神。
由此可見,學習iOS開發,只要肯吃苦,有恆心,菜鳥也可以有很藍,很廣闊的天空。iOS培訓很注重基礎教學,教學方式與大學不同,在教授理論知識的同時,更注重實踐技能的培養。擺正心態,切勿操之過急,囫圇吞棗,將每天所學定義為就是今後工作要用的,這樣你便會認真對待每一次學習、每一行代碼和遇到的每一個難題。
參加iOS開發培訓也可以,現在iOS開發培訓大概也就4個月時間,花一兩萬系統學4個月也是一個不錯的選擇,雖然要一兩萬,但是效果跟自己學肯定是不一樣的,要是自己學跟有老師帶著學一樣,那這個世界上將沒有學校存在了。對於參加iOS開發培訓的一定
要選對機構,有句話說得好,選對比選好有時候重要太多。你考30分的'成績讓你去北大清華也不一定能夠成就了呢,所以選擇口碑好的機構,專注iOS開發的機構比較好,畢竟咱基礎不好,那些機構做雜很難做精。不管是快速學還是慢慢自學還是選擇iOS培訓機構系統培訓,只要你投入進去就好,堅持下去一定會有大收獲。不管做什麼或者學什麼一定要避免三天打魚兩天曬網,這樣效果不會明顯。
篇三:零基礎學iOS開發的方法
怎麼學習iOS開發,尤其是對於沒有基礎的,甚至是0基礎的朋友而言,要學習iOS開發就需要注重方法了。由於iphone手機帶來的手機應用狂潮,現在很多人都希望從事這塊的開發。很多初學者可能會問,沒有基礎怎麼樣才能學好iOS開發,我們要看什麼書呢,還是什麼視頻,其實這些都不是重要的,重要的是,你認為自己可以學好iOS開發,認為自己可以堅持下來,這是關鍵啦。
其實學很多語言都是通的,即使0基礎學習也不怕,從C語言入門,因為iOS開發用的是OC語言,是在C基礎上的,不過也跟C不是很搭界,你可以直接學習OC語言也可以,還有開發工具是用Xcode,是在Mac系統的,你多摸索一下就可以開發簡單的應用了,建議你買一本iphone開發秘籍第二版看看。學語言,無非就是要學好基礎,弄清楚概念,然後做個簡單的例子,慢慢的體會,基礎打好了,到後面你會覺得突然自己提高了很多,很多東西都自然而然地明白了,在黑暗中的努力是為了迎接光明。
我覺得學iOS開發,首先心態要好,不要想著我已經學習很長時間了,可以找個好工作,可以賺錢了,牛人除外,不過大多都是普通人。
先慢慢培養興趣下定決心,然後開始找資料,找視頻,查網路。等你覺得這些基礎的都差不多理解了,那就別看書,將精力集中於界面開發、一定的資料庫開發、通訊介面開發、協同開發與聯調。然後自己設計個東西,可以涵蓋他們的,做個自己想做的東西出來,雖然可能很難,但是你會在過程中學到很多,是別人教不會你的。
在學習過程中遇到什麼問題,你可以網路一下看看別人的回答,看多了印象就深了,也就慢慢掌握了。遇到什麼思路上的問題,可以來藍鷗網站技術論壇發帖,論壇肯定會有人來幫忙的,就算不能完全解決,也可以提供點參考。學習要會利用資源,論壇上那麼好的資源不用可惜的哦,還有資料堆的東西,只要你能掌握70%,不相信你可以試試。
『貳』 想學ios開發,都需要學習些什麼內容,求指點。
一.iOS基礎
1 開發環境搭建以及IOS組件、框架的概要介紹。
2mac操作系統與iOS操作系統
3 xcode IDE開發環境的初始
二.C語言基礎汪彎哪
1數據類型、表達式與控制流程語句
2數組、函數與編譯預處理
3 詳解指針
4 結構體、聯合體
三.OC語言
1、類、對象和方法
2、封裝、繼承、多態
3、類的擴展
4、Foundation框架
5、內存困碼管理
6、復制對象與歸檔
7、文件管理
8、kvc、kvo與謂詞
2、iPhone入門部分
四.iPhone開發入門
1、視圖與窗口(UIView、UIWindow)
2、常用UI控制項
3、視圖控制器
4、導航控制器
5、分欄控制器
五鬧激.iPhone進階部分
1、表視圖1(UITableView)
2、表視圖2(UITableViewController)
3、手勢與觸摸
4、UIScrollView的使用
本部分主要介紹UIButton、UILabel、UITextField、UIActionsheet、UIAlert、UITextView、UIView、UISwitch、UISegmentControl、UIViewcontroller、UITabBarController、UITableview、UINavigationController、UIScrollview、UITouch觸摸等控制項
5、Block語法的使用
6、UIPickerView使用
7、iPad開發
8、iOS動畫
9、音頻與視頻
10、網路與多線程
11、位置與地圖服務
12、sqlite資料庫
13、真機調試
14、本地通知與遠程通知
15、cocos2D游戲開發
六.項目開發
更多5
『叄』 現在ios 開發中用哪個開源資料庫比較好
1. OrmLite
OrmLite 不是 Android 平台專用的ORM框架,它是Java ORM。支持JDBC連接,Spring以及Android平台。語法中廣泛使用了註解(Annotation)。
2. SugarORM
SugarORM 是 Android 平台專用ORM。提供簡單易學的APIs。可以很容易的處理1對1和1對多的關系型數據,並通過3個函數save(), delete() 和 find() (或者 findById()) 來簡化CRUD基本操作。
要啟用SugarORM,需要在你的應用程序 AndroidManifest.xml 配置中添加如下meta-data標簽:
<meta-data android:name="DATABASE" android:value="my_database.db" />
<meta-data android:name="VERSION" android:value="1" />
<meta-data android:name="QUERY_LOG" android:value="true" />
<meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="com.my-domain" />
然後就可以從SugarORM擴展需要保存的數據類:
public class User extends SugarRecord<User> {
String username;
String password;
int age;
@Ignore
String bio; //this will be ignored by SugarORM
public User() { }
public User(String username, String password,int age){
this.username = username;
this.password = password;
this.age = age;
}
}
要添加一個User,代碼如下:
User johndoe = new User(getContext(),"john.doe","secret",19);
johndoe.save(); //stores the new user into the database
3. GreenDAO
當性能很重要時(數據訪問頻繁),GreenDao是一個很快的解決方案,它能夠支持數千條記錄的CRUD每秒,和OrmLite相比,GreenDAO要快幾乎4.5倍。(准確數據請自行benchmark)。
GreenDAO小於100KB,所以對於應用程序APK的大小影響很小。
這里有一個教程,演示如何使用Android Studio,在Android應用程序中使用GreenDAO框架。
4. Active Android
Active Record(活動目錄)是Yii、Rails等框架中對ORM實現的典型命名方式。Active Android 幫助你以面向對象的方式來操作SQLite。
5. Realm
Realm 是一個將可以使用的Android ORM,基於C++編寫,直接運行在你的設備硬體上(不需要被解釋),因此運行很快。它同時是開源跨平台的,iOS的代碼可以在GitHub找到,你還可以找到Objective C以及Swift編寫的Realm使用實例。
『肆』 在ios的開發中使用fmdb資料庫載入太慢怎麼解決
1.給UITableView中的UIButton添加UIControlEventTouchUpInside 的事件處理函數 2.封裝操作資料庫的類,可以用單例。在里包含了你所以的操作數據中的操作。野搏分離資料庫操作 3.在UIBUtton的響應事件中,調用資料庫操作的單例類陸脊源來早態實現你要取的upload...
『伍』 回答一個合格的IOS開發工程師應具備哪些條件_ios開發工程師是做什麼的
一、Objective-C
C語言是iOS開發的語言基礎,而Objective-C是iOS開發的標准語言,也是為眾多iphone開發工程師所公認的標准,所以必須要掌握。內容包括以下這些:
(1)Objective-C語言基礎;
(2)library,framework的製作;
(3)Runtime編程;
(4)LLVM原理和調優。
二、操作系統
操作系統使計算機系統所有資源最大限度地發揮作用,提供各種形式的用戶界面,使用戶有一個好的工作環境,為其它軟體的開發提供必要的服務和相應的介面。所以,必須對ISO操作系統很熟悉才行。包括以下方面的內容:
(1)iOS內存管理和調優;
(2)iOS的文件系統和沙盒機制;
(3)iOS多線程編程(Thread,GCD,NSOperation);
(4)iOS網路和伺服器編程(,);
(5)iOS系統的各種安全機制。
三、網路編程
網路編程是學習iOS開發必須掌握的編程技巧,涉及到Htpps、Socket編程等;在這一部分處理的規范程度,直接影響到蘋果AppStore的審核。
(1)iOS網路發送機制調整和優化();
(2)Socket編程;
(3)網路傳輸中的各種保障;
(4)對傳輸協議的調整優化。
四、資料庫&持久化方案
資料庫持久化就是把數據保存到可永久保存的存儲設備中,持久化的主要應用是將內存中的數據存儲在關系型的資料庫中。
(1)常規持久化方案(Keychain,Sqlite,CoreData);
(2)資料庫的使用和設計(Sqlite);
(3)數據結構優化,Sql調優。
五、圖形圖像編程
iOS開發過程中,大部分的APP都是採用多視圖設計來完成的。所以要熟悉一些圖像的繪制:
(1)UIKit,和CoreText的繪制;
(2)團皮陸,Quartz2D,MediaPlayer,;
(3)OpenGLES,GLKit,SpriteKit,SceneKit,Metal。
六、數據結構&演算法
懂得基本的演算法:
(1)基本的演算法和數據結構(排序搜索演算法,數組,隊列);
(2)較復雜數據結構的靈活應用(二叉樹,圖等);
(3)復雜的專項演算法(圖像識別演算法,拓撲定位等)。
七、業務能力塌頃
作為一名優秀或者說是及格的iOS程序員,必須要有一定的將功能需求轉化並實現的業務能力:
(1)一般性業務功能需求分析及實現;
(2)重要業務模塊的需求分析及實現;
(3)中小規模產品的架構,系統設計和實現;
(4)大規模產品或產品線的架構,系統設計和實現;
(5)平台級產品的架構,系統設計和實現。
八、安全方案
另外,還需要提供對數據安全方面有利的方案:
(1)本地數據存儲安全(Keychain);
(2)授權和身份驗證;
(3)傳輸安全(對稱,非對稱,SSL);
(4)App代碼安全。
九、專業素質
作為一名iOS工程師,需要具備一定專業素質,包括:
(1)團隊協作能力。軟體開發要求開發參與者間有一定默契度,從事自己工作之餘為其他同伴創造條件;
(2)溝通能力。能清晰的把你對項目的理解、開發中的問題等握寬轉達給同事和用戶;
(3)強烈的好奇心和學習精神。IOS軟體開發的變化和創新幾乎是每時每刻的,優秀的程序員要適應和主動迎合行業變化的大環境;
(4)冷靜、細心。及時發現問題和判斷對策。
『陸』 移動端開發(iOS,安卓)資料庫用MySQL或是sqlserver優缺點
不管是移動端開發,還是PC端開發,其實都有用mysql還是顫蠢sqlserver這樣的選擇,今天就把我的觀點給大家分享下:
1.Sqlserver和MySQL都是關系型資料庫,在整體功能上差異不算太大,都支持表、視圖、函數、存儲過程。
2.就部署平台來收,sqlserver是微軟出品,很顯然他必須部署在windows系統上,而mysql既可以部署在windows系統上,也可以部署在linux系統上,就這點來說mysql優勢更明顯。
3.就使用成本來說,mysql目前開發使用費用很小,而sqlserver作為微軟的產品,應用與商業的話必須購買,而且價格也不菲。因此這點上mysql仍然占據優勢。
4.mysql短小精悍,學習上容易上手,操作相對簡單,sqlserver作為一個大型的資料庫系統,上手稍微復雜些,但有功能超強的圖形界面工具進行操作。目前mysql多應用與一些網站系統,即web頁面要求響應速度較蠢洞尺快的系統中。sqlserver多應用於一些行業領域信息化系統中。
5.mysql的性能是相當出色的,但穩定性不如sqlserver好,而且sqlserver有很強大的備份恢復機制,對數據的完整性,容錯性有較大的優勢。sqlserver可以很方便的整帶高庫分離和附加,還有可以定製維護計劃以及詳細的日誌信息。
因此,這兩種資料庫系統應該說各有優劣,可根據具體開發應用場景進行選擇。
移動端開發(iOS,安卓)的話建議服務端用mysql了,部署在Linux環境,穩定性更強。
『柒』 如何處理iOS開發中 APP端資料庫和網站資料庫選擇和同步問題
同步兩個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地址和主機名的對應關系。
例如:
127.0.0.1 localhost
192.168.0.35 oracledb oracledb
192.168.0.65 fengyu02 fengyu02
202.84.10.193 bj_db bj_db
或者在sql server客戶端網路實用工具里建立別名,例如:
5、系統需要的擴展存儲過程是否存在(如果不存在,需要恢復):
sp_addextendedproc 'xp_regenumvalues',@dllname ='xpstar.dll'
go
sp_addextendedproc 'xp_regdeletevalue',@dllname ='xpstar.dll'
go
sp_addextendedproc 'xp_regdeletekey',@dllname ='xpstar.dll'
go
sp_addextendedproc xp_cmdshell ,@dllname ='xplog70.dll'
接下來就可以用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, 如果每分鍾重試一次,可以支持約6.9天不出錯)
分發伺服器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開發需要什麼基礎
IT行業是現在非常吃香的行業,而iOS開發則是IT行業一個非早余常吃香的職位,那麼如果想要從事iOS開發相關方面的工作,我們需要有什麼基礎呢?一起來看看小編今天的分享吧。
iOS開發需要什麼基礎?
1、必須熟練掌握Objective-C語言,它是伍睜陪iOS開發的標准語言,
2、至少熟練掌握兩到三種開發工具的使用,比如VB、PowerBuilder這類的可視化開發工具、C/C++和JAVA等開發工具。腔蠢
3、了解iOS操作系統,能夠編寫出穩定性強,擴展性高的代碼
4、熟知資料庫的操作方法,掌握網路協議TCP/IP,對終端UI/UE有自己的感知。
iOS開發就業前景如何?
IT行業對於iOS開發人才的需求非常大,iOS產品在全球科技市場有著非常大的市場份額,而且也有很多忠實的消費者以及潛在的消費者,再加上iOS系統開發技術一直都是走在全球手機系統的前端,對於iOS開發人才的需求非常大,而且不僅僅是蘋果公司需要這方面的人才,很多其它公司也是希望能夠引進iOS產品方面的人才,就業前景非常好。
以上就是小編今天的分享了,希望可以幫助到大家。
『玖』 ios開發是如何訪問資料庫的
第一,我不是高手,第二,我可以分享下我的心得。一般的數據量很小的項目,沒必要使用資料庫,如果只是保存寫用戶信息,大可以用其他的方法,用keychain或者nsuserdefault或者其他的都可以。任何一個項目都需要保存一個使用狀態,不能每次打開項目的時候都和第一次運行一樣,完全新,要給人以使用過的感覺就要存儲一些歷史數據。如果怕影響用戶體驗的話,可以多開線程在後台去對數據操作(數據量大的情況下),記得對線程要回收。如果你對保存數據比較迷茫的話,你可以google一下ios的四種數據持久化,對於sqlite和coredata,我個人認為只是兩種不同的存儲方法,一種是小型輕量級sqlite資料庫,所有移動設備經常用到的,還有一種是蘋果針對ios操作系統開發的coredata數據存儲,具體孰勝孰略還有待你自己去了解,一般如果我的資料庫要非常多的表格互相關聯最後查詢一條結果那麼我會採用sqlite,如果存儲一些有規律的數據那麼我會採用coredata,沒有哪個更好的說法,只能說這兩種都各有千秋,而我聽前輩們說,coredata只是蘋果對sqlite的又一次封裝而已,方便操作但也局限操作
『拾』 ios開發需要什麼基礎
1、必須熟練掌握Objective-C語言,熟悉OC中各種常用語法,蘋果自帶框架以及第三方框架的知識,基礎UI控制項的運用;
2、了解iOS操作系統,能夠編寫出穩定性強,擴展性高的代碼,熟知資料庫的操作方法和Xcode的使用;
3、掌握開發工具的使用,如VB、powerbuilder這類的可視化開發工具、C/C++和JAVA等開發工具。
總結:
1、必須熟練掌握Objective-C語言,熟悉OC中各種常用語法;
2、了解iOS操作系統,能夠編寫出穩定性強,擴展性高的代碼,熟知資料庫的操作方法和Xcode的使用;
3、掌握開發工具的使用,如VB、powerbuilder這類的可視化開發工具、C/C++和JAVA等開發工具。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:0731-84117792E-MAIL:[email protected]