<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>聰明的生活2 &#187; database</title>
	<atom:link href="http://blog.yslifes.com/archives/category/database/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.yslifes.com</link>
	<description>自己寫java程式的一些筆記</description>
	<lastBuildDate>Wed, 08 Feb 2012 02:26:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://blog.yslifes.com/?pushpress=hub'/>
		<item>
		<title>[JAVA]聯絡我們表單程式後台</title>
		<link>http://blog.yslifes.com/archives/980</link>
		<comments>http://blog.yslifes.com/archives/980#comments</comments>
		<pubDate>Thu, 02 Feb 2012 15:32:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[easyui]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/?p=980</guid>
		<description><![CDATA[前一篇介紹過聯絡我們的的前台程式，這篇會介紹如何取得前台聯絡表單所留言的內容，使用的網頁使用framework有jquery及easyui，利用datagrid來顯示所有的資料列，而重要的留言內容則顯示於iframe裡，如此可排除大部份的html tag產生的問題。 這程式目前缺少了幾個功能，並不影響使用，不過如果有需求的人倒可以自己加入使用： 前台留言後自動發mail給某位管理者 後台可回覆留言給使用者，寄送mail或電話聯絡後寫下聯絡事項 最主要是JavaMail的使用，及資料寫入資料庫的應用。 因為是後台，所以還需要一個登入畫面，再登入成功後可以顯示後台menus，利用easyui的layout排列north為資訊狀態，center為datagrid顯示聯絡資料列表，而east為留言的內容。 而網頁使用Ajax傳送get或post參數給後端，而後端程式回傳json格式如下： total：總筆數，grid顯示分頁toolbar使用的，會計算總頁數等… success：成功執行則回傳true，否則則回傳false msg：回傳的訊息，可於回傳success為false時，帶上錯誤訊息顯示給使用者知道 rows：為一個陣列資料，每一筆資料都是一個json格式 程式碼如下： index.jsp登入後台 &#60;%@ page language=&#34;java&#34; contentType=&#34;text/html; charset=UTF-8&#34; pageEncoding=&#34;UTF-8&#34;%&#62; &#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD HTML 4.01 Transitional//EN&#34; &#34;http://www.w3.org/TR/html4/loose.dtd&#34;&#62; &#60;html&#62; &#60;head&#62; &#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=UTF-8&#34;&#62; &#60;title&#62;登入&#60;/title&#62; &#60;style type=&#34;text/css&#34;&#62; html,body{ margin:0; padding:0; height:100%; border:none } &#60;/style&#62; &#60;script type=&#34;text/javascript&#34; src=&#34;js/jquery-1.7.1.min.js&#34;&#62;&#60;/script&#62; &#60;script type=&#34;text/javascript&#34; src=&#34;js/jquery.form.js&#34;&#62;&#60;/script&#62; &#60;script type=&#34;text/javascript&#34;&#62; $(function(){ $(document).ready(function() { [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/980/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP]自動取號(編碼)程式</title>
		<link>http://blog.yslifes.com/archives/978</link>
		<comments>http://blog.yslifes.com/archives/978#comments</comments>
		<pubDate>Thu, 05 Jan 2012 15:38:15 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[autoencode]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/978</guid>
		<description><![CDATA[使用php撰寫程式的人，最常使用的資料庫應該是MySQL，MySQL本身已經有提供自動取號的功能，不過在某些狀況上可能並不適用，而已也有些資料庫並沒有提供自動給號的功能的。 自動取號，主要用在key值的產生，可以得到唯一的編號，而這個編號是有一定規則的，像是（檔頭＋年份＋流水號）之類的，用來識別此筆資料，而產生這個編號有很多種方式，如： 資料庫本身提供此功能,ex:mysql的Auto Increment 利用一個Table存放目前編號，再使用stored procedure或是程資語言來取號 其它... 之前有寫過一個Oracle Store procedure的取號程式，而這次提供利用php程式來取得編號，取號的原則有幾個來確保取號不會錯誤： 取號後，不管有無使用，則此編號已不會再產生 要使用transaction功能來取號及存入取到號碼（此範例並未用到交易） 這個範列的結果 編碼用Table(autoencode) CREATE TABLE `autoencode` &#40; `code_type` VARCHAR&#40;50&#41; NOT NULL, `code_head` VARCHAR&#40;10&#41; NOT NULL, `code_count` BIGINT&#40;20&#41; NOT NULL, `code_max` INT&#40;11&#41; NOT NULL DEFAULT '10', PRIMARY KEY &#40;`code_type`&#41; &#41; ENGINE=InnoDB DEFAULT CHARSET=utf8 編碼程式內容 &#160; define&#40;'DB_HOST', &#34;localhost&#34;&#41;; //資料庫主機位置 define&#40;'DB_LOGIN', &#34;root&#34;&#41;; //資料庫的使用帳號 define&#40;'DB_PASSWORD', &#34;12345&#34;&#41;; //資料庫的使用密碼 define&#40;'DB_NAME', [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/978/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>c3p0 ConnectionPools設置與使用</title>
		<link>http://blog.yslifes.com/archives/975</link>
		<comments>http://blog.yslifes.com/archives/975#comments</comments>
		<pubDate>Mon, 12 Dec 2011 14:44:12 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[Exception]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/975</guid>
		<description><![CDATA[c3p0是一個基於JNDI-bindable DataSources(使用DriverManager-based)的很容易使用的JDBC驅動函數庫。 所以在使用c3p0時，還需要一個JDBC的Driver，才能使用，而c3p0的作用只是控制Database的Connection使用，舉個簡單的例子，當Connection被DataBase Server timeout斷線後，c3p0會自動多次去重新連線，避免程式就直接丟出SQLException。 這次剛好遇到Microsoft SQL Server 2005不知為何一直丟出以下訊息，才去找到c3p0來使用的，發生的原因似乎是SQL Server本身對JDBC的Connection TimeOut斷線、或是Connection數不夠。 I/O Error: Connection reset I/O Error: Software caused connection abort: recv failed 下面是一個範例，結果如下圖： package com.yslifes; &#160; import java.beans.PropertyVetoException; import java.sql.SQLException; &#160; import javax.sql.DataSource; &#160; import com.mchange.v2.c3p0.ComboPooledDataSource; &#160; public class DB &#123; private static ComboPooledDataSource ds = null; public static DataSource getPool&#40;&#41; throws java.sql.SQLException &#123; [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/975/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Csharp使用ADO.NET操作SQLite</title>
		<link>http://blog.yslifes.com/archives/972</link>
		<comments>http://blog.yslifes.com/archives/972#comments</comments>
		<pubDate>Sun, 30 Oct 2011 02:10:35 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[VisualStudio]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[datasource]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sqlite]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/972</guid>
		<description><![CDATA[SQLite是一個簡易的資料庫系統，開放原始碼，可以直接把SQLite綁在程式裡使用，FireFox及Android等軟體也都有內建SQLite。SQLite不需要安裝，看起來就只是一個檔案而已，也可以使用memory模式，讓它存在記憶體中而不需要建立一個檔案存放。 SQLite支援的SQL指令：http://www.sqlite.org/lang_corefunc.html C#要連接SQLite可以使用open source的System.Data.SQLite，它是一個基於ADO.Net所做與SQLite的溝通介面，目前支援到.net framework 3.5。可於sourceforge下載其dll來使用，就可以了。 下方的範例是介紹如何在Csharp下使用ADO.NET連接與操作SQLite，包含了自動產生SQLite檔案與DataGridView使用class binding datasource方法。 一、建立一個專案，並先將其儲存起來 (需要先建置專案才能使用專案裡的class當做datasource) 二、改變專案使用的Framework 在專案節點上選擇屬性 把目標Framework(G):改成.NET Framework 3.5以下 告知需要重新啟動專案 三、加入System.Data.SQLite的Dll當做參考 在專案裡的參考節點上按右鍵選加入參考(R).... 找到DLL加入 在參考的節點上可以看到System.Data.SQLite已加入成功 因為原本專案為.NET Framework 4被降為3.5，所以會多出一個無法使用的參考Microsoft CSharp，此時可順便移除掉它。 四、建立相容模式 SQLite ADO.NET是建立於版本v2.0.50727，所以在比較高的版本會有相容性問題，所以修改app.config或web.config來使其相容使用。 ps.有一說可以在.NET Framework 4.0修改設定則可以使用SQLite ADO.NET 在startup的tag上加上屬性 &#60;startup useLegacyV2RuntimeActivationPolicy=&#34;true&#34;&#62; &#60;supportedRuntime version=&#34;v2.0.50727&#34;/&#62; &#60;/startup&#62; 在範列裡我們會使用到二種建立SQLite Connection的方法，其中一種為DbProvider，所以需要使用到以下tag內容，放在configuration內就可以了，如果不使用此種DbProvider方法，也可不加。 &#60;system.data&#62; &#60;DbProviderFactories&#62; &#60;remove invariant=&#34;System.Data.SQLite&#34;/&#62; &#60;add name=&#34;SQLite Data Provider&#34; invariant=&#34;System.Data.SQLite&#34; description=&#34;.Net Framework Data Provider for SQLite&#34; [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/972/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java使用JDBC操作SQLite</title>
		<link>http://blog.yslifes.com/archives/971</link>
		<comments>http://blog.yslifes.com/archives/971#comments</comments>
		<pubDate>Sat, 08 Oct 2011 16:05:34 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sqlite]]></category>
		<category><![CDATA[資料庫]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/971</guid>
		<description><![CDATA[SQLite是一個輕量級的資料庫系統，不需要安裝就可以使用，也可以十分容易的就內嵌於系統內，FireFox就內嵌SQLite，可以在FireFox上直接使用JavaScript來呼叫操作資料庫。 SQLite是由C語言撰寫而已，可以跨Linux及Windows等平台，在Java存取及操作上則可使用JDBC來連線SQLite。 在JDBC連線SQLite上，大概分成二種方式，一種是由Pure-Java來連結資料，另一種則是直接利用Java呼叫C語言撰寫的函式庫，不過在實測上直接呼叫C的函式庫的方式應該是比較快的，不過在無法找到合適C函式庫的平台則可使用Pure-Java版。 SQLiteJDBC目前查到這個版本是比較有在更新，而且在使用上跟一般的JDBC幾乎是一樣的，上手程式十分簡單。 SQLiteJDBC可以由這裡下載，以下範例是由3.5.7版本製作，提供建立Table、移除Table、查詢、新增、刪除及修改等範例。 package com.izero.sqllite; import java.sql.*; &#160; import org.sqlite.SQLiteConfig; import org.sqlite.SQLiteDataSource; public class MyTest &#123; public Connection getConnection&#40;&#41; throws SQLException &#123; SQLiteConfig config = new SQLiteConfig&#40;&#41;; // config.setReadOnly(true); config.setSharedCache&#40;true&#41;; config.enableRecursiveTriggers&#40;true&#41;; &#160; &#160; SQLiteDataSource ds = new SQLiteDataSource&#40;config&#41;; ds.setUrl&#40;&#34;jdbc:sqlite:sample.db&#34;&#41;; return ds.getConnection&#40;&#41;; //ds.setServerName(&#34;sample.db&#34;); &#160; &#160; &#125; //create Table public void createTable&#40;Connection con &#41;throws SQLException&#123; [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/971/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio Express .NET C#(C Shape)連接MySQL資料庫</title>
		<link>http://blog.yslifes.com/archives/938</link>
		<comments>http://blog.yslifes.com/archives/938#comments</comments>
		<pubDate>Sun, 15 May 2011 23:16:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[csharp]]></category>
		<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/938</guid>
		<description><![CDATA[Microsoft Visual Studio Exrpess是微軟提供的免費而且比較簡單的.NET開發工具，跟一套數萬元的Visual Studio有著許多限制，像是在連接資料庫時就提供了比較少連接選擇方式，雖然可以用ODBC的方式來解決部份的問題，不過效能上還是直接使用Connector比較好。 MySQL提供了一個免費的Connector，可藉由此Connector來直接連接資料庫，只需要加入參考的DLL，再使用連線字串建立連線就可以使用了，不過並無法直接使用Express提供的加入新資料來源（資料庫）精靈來操作。 底下提供一個簡單的範例，利用SQLCommand來進行查詢，回傳結果。 １.安裝My SQL Connector 可由MySQL官方網站下載，請選擇Windows (x86, 32-bit), MSI Installer或是mysql-connector-net-6.3.6.zip其中一個，mysql-connector-net-6.3.6-src.zip是需要自行Complier的原始碼內容。 ２.加入參考 可直接於.NET分頁選擇MySQL.Data或是利用瀏覽來加入DLL，二者選一 ３.建立連線Connection //連接字串 String conString = &#34;SERVER = localhost; DATABASE = test; User ID = root; PASSWORD = 12345;&#34;; //取得MySQLConnection MySqlConnection connection = new MySqlConnection&#40;conString&#41;; 測試結果，原始碼： try &#123; //連接字串 String conString = &#34;SERVER = localhost; DATABASE = test; User [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/938/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JApplet與Web Server做溝通</title>
		<link>http://blog.yslifes.com/archives/934</link>
		<comments>http://blog.yslifes.com/archives/934#comments</comments>
		<pubDate>Tue, 26 Apr 2011 11:50:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[applet]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[gson]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[Socket]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/934</guid>
		<description><![CDATA[Applet除非是內部或自己使用時，可以直接使用JDBC來連接資料庫，而一般對外開放的服務如果讓Applet直接連接到資料庫，需要開port讓Clinet 的Applet來使用，在安全性上相對的十分危險。 此時可以利用一個中繼的Sokcet Server或是Web Server來當與資料庫連接的proxy代理服務器，如此Apllet只要連接Web Server，對Server提出需求，而Server會依需求與資料庫做溝通，並回傳Applet要求之資料，如此可以做成多層式的架構來解決Applet資料取得之問題。 範例設計上有一個輸入框JTextField可以輸入要傳給Server的資料內容，而下方的JTextArea是承接從Server回傳的資料內容，按鈕則可進行動作Action。 輸入傳送的字串後，按下”按我”可進行資料的傳送POST。 try &#123; &#160; com.yslifes.connect.WebModule web = new com.yslifes.connect.WebModule&#40;&#41;; //使用post把資料傳送到web server端 web.doPost&#40;&#34;http://localhost:8080/AppletGUIServer/Info.jsp&#34;, &#34;data=&#34;+getJTextField&#40;&#41;.getText&#40;&#41;+&#34;&#38;p=1&#34;, null, &#34;utf-8&#34;&#41;; //取回回傳的json資料 com.google.gson.JsonObject json = web.getJSON&#40;&#41;; getJTextArea&#40;&#41;.setText&#40;json.get&#40;&#34;msg&#34;&#41;.getAsString&#40;&#41;&#41;; &#160; &#160; &#160; &#125;catch&#40;Exception ex&#41; &#123; ex.printStackTrace&#40;&#41;; logger.info&#40;ex&#41;; &#160; &#125; 這裡使用到的WebModule可以參考HttpURLConnection來實作get及post動作。 在Console視窗可以看到傳送出去的資料內容： 而在WebServer方面，則可利用request來取得需要資料做處理，再回傳out.print給Applet。 &#60;%@ page language=&#34;java&#34; contentType=&#34;text/html; charset=UTF-8&#34; pageEncoding=&#34;UTF-8&#34; %&#62;&#60;% request.setCharacterEncoding&#40;&#34;utf-8&#34;&#41;; &#160; //取得傳來的參數 System.out.println&#40;&#34;data=&#34;+request.getParameter&#40;&#34;data&#34;&#41;&#41;; System.out.println&#40;&#34;p=&#34;+request.getParameter&#40;&#34;p&#34;&#41;&#41;; &#160; //回傳json [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/934/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[jsp]常用範例-登入及檢查與登出</title>
		<link>http://blog.yslifes.com/archives/830</link>
		<comments>http://blog.yslifes.com/archives/830#comments</comments>
		<pubDate>Fri, 10 Dec 2010 11:45:00 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jsp]]></category>
		<category><![CDATA[程式]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[servlet]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/830</guid>
		<description><![CDATA[登入與登出是很常用到的一個網頁功能，而在製作上原理其實不難，當使用者輸入帳號密碼後，傳至程式，檢查資料庫裡使用者表格table是否存在此使用者，如果存在，則在Session裡存入使用者的個人資訊，而登出時只需要清除此Session記錄，檢查是否登入中，則是check Session是否存在。 此範例程式有幾個小功能： 防止沒登入者使用需要登入的頁面 登入檢查，誰是登入者 Servert載入時自動執行程式 登入畫面，預設的帳號是pig密碼是1234567 測試有沒有登入-沒登入狀況 測試有沒有登入-已登入狀況 登入成功checklogin 網頁無登入導出，如果有登入的話會以下圖 使用MySQL當成範例資料庫，資料表如下 -- MySQL Administrator dump 1.4 -- -- ------------------------------------------------------ -- Server version 5.0.45-community-nt &#160; &#160; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; &#160; /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; /*!40101 [...]]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/830/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[PHP]利用ODBC連接Sybase 8並解決中文big5問題</title>
		<link>http://blog.yslifes.com/archives/772</link>
		<comments>http://blog.yslifes.com/archives/772#comments</comments>
		<pubDate>Mon, 01 Nov 2010 15:58:21 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[教學]]></category>
		<category><![CDATA[odbc]]></category>
		<category><![CDATA[sybase]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/772</guid>
		<description><![CDATA[windows要用php連接Sybase可以使用php_sybase_ct.dll，只需有這個dll並把c:\windows\php.ini裡的;extension =php_sybase_ct.dll前面那個分號拿掉，就可以像使用mysql一樣使用Sysbase資料庫了，詳細可以參考以下： sybase_connect&#40;&#34;svname&#34;,&#34;root&#34;,&#34;passwd&#34;&#41; //跟mysql用法是一樣的 mysql_connect&#40;&#34;svname&#34;,&#34;root&#34;,&#34;passwd&#34;&#41; 不過在舊的版本上似乎連線不上，也可能是設定不對，所以最後選擇了使用ODBC來解決這個連線的問題，不過因為ODBC連接Sysbase 8預設取得的資料是big5的內容，所以需要再經過其它處理來使其產生網頁內容時變成utf-8。 底下是PHP利用ODBC連接資料庫，並且輸出成utf-8的網頁格式： 如果沒有處理的話輸出是中文的亂碼 方法十分簡單，首先需要在ODBC上設定輸出的編碼為cp950，也就是中文編碼，資料庫存取時編碼才會一致 可以控制台選擇資料來源（ODBC） 然後選擇新增，Driver的部份選擇Adaptive Server Anywhere 8.0 給於ODBC的名稱 設定要連入Sysbase的帳號及密碼 設定Sybase的Server Name 這裡是重點，Character set的部份要設cp950，中文語系 Network使用可依建立Sybase時的方式來決定 再來建立php文件，記得編碼是utf8的文件編碼，而且html的meta Content-Type也要設定charset是utf-8 這張圖右上方可以看到meta是utf8，下方toolbar可以看到編碼是utf8的檔案格式 中文字的轉換是利用function iconv，iconv(來源編碼,轉換編碼,來源字串) 如此就可以連接Sybase 8，並取得utf8編碼的中文字了。]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/772/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sybase 8(舊版)取得rownum或分頁時使用sql語法</title>
		<link>http://blog.yslifes.com/archives/748</link>
		<comments>http://blog.yslifes.com/archives/748#comments</comments>
		<pubDate>Mon, 25 Oct 2010 15:20:53 +0000</pubDate>
		<dc:creator>yku</dc:creator>
				<category><![CDATA[database]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sybase]]></category>

		<guid isPermaLink="false">http://blog.yslifes.com/archives/748</guid>
		<description><![CDATA[Sybase並沒有像mysql的limit方法，也沒有Oracle的rownum可以用，要做出分頁或RowNum並不是十分容易，在網路上找了很多資料，大概的做法都差不多，主要都是先把原先的表格排序後給於編號，並存入一個暫存的table裡，再利用這個table去Select出要的範圍的資料，不過如果資料量十分驚人時是否還可以用呢？最少比直接把資料回傳至前端再來跑for loop快。 底下提供一個利用join方式來刮掉不需要的範圍： SELECT key1,key2, rownum = IDENTITY&#40;8&#41; INTO #foo FROM mytable SELECT * FROM mytable b JOIN #foo a ON b.key1 = a.key1 AND a.key2 = b.key2 WHERE a.rownum BETWEEN 3 AND 5 DROP TABLE #foo 其中key1,key2是primary key，pk值，可以是int數字、varchar文字等，也可以是複合pk mytabe是想要查詢的table名稱 #foo是暫存的表格名稱 用完要drop table掉，以免暫存檔佔用記憶體空間]]></description>
		<wfw:commentRss>http://blog.yslifes.com/archives/748/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

