㈠ 如何構建一個完善的資料庫,如何來處理表與表關系.
sql Server本身就是一個完善的資料庫,提供可視化編程,後台完成所有拖放處理操作,不管有沒有數據都可以使用,不需要編譯。
一個比較合理的資料庫設計應該考慮數據的交互性和挖掘能力、處理效率以及日誌記錄。
建立數據表,注意以下幾點:
表建立的時候要有主鍵和索引,表與表之間要能使用主鍵相聯系,舉例說在A表裡我做完一次記錄要生成一個單號,B表裡面是依據單號來做下一個流程,而不是依據記錄的每一條數據
取名盡量使用英文+下劃線,SQL Server里對漢字需要轉碼,影響工作效率,按照他的默認編碼方式操作有助於提高數據處理速度
建立數據表的列數不要太多,用編碼規則來建立邏輯
注意欄位存儲空間,限制欄位長度,少用注釋和image
存儲過程盡量簡潔實用
建立視圖,為了別的客戶端使用,盡量建立視圖,做好完整的數據分析,別的介面程序或者客戶端直接就可以拿去使用。做視圖注意幾點:
多個表操作寫在一個視圖里,不要嵌套太多視圖
連接查詢要適當的篩選
跨伺服器操作視圖,要建立伺服器鏈接表,盡量使用內網鏈接,把伺服器鏈接表做成查詢視圖,放在本地伺服器資料庫里,這樣就等同本地操作
視圖之間保留連接欄位作為主要索引
建立計劃作業,有計劃地進行數據同步更新和備份標識工作,注意事項:
備份數據盡量放資料庫里同步復制
計劃任務避開工作高峰期
建立存儲過程,記錄操作日誌,把日誌以數據表的形式存儲,注意事項:
存儲過程對本表操作,不要交互太多表
精簡參數數量,注意參數存儲空間
對記錄修改刪除、更新標記的時候盡量使用時間來索引
建立關系圖,給表與表之間建立直接關系,整理整體挖掘數據性能。
建立計劃更新任務,優化資料庫整體性能。
㈡ 在Sql里我不小心用Trunk語句把表刪掉了,想問一下有辦法恢復么
這個數據沒有辦法恢復,因為Truncate刪除數據時是不保留日誌的。只能用你最後一次的備份看一看能不能還原出來一點。
㈢ ORACEL sql語句 兩時間欄位求差
兩個Date類型欄位:START_DATE,END_DATE,計算這兩個日期的時間差(分別以天,小時,分鍾,秒,毫秒):
天:
ROUND(TO_NUMBER(END_DATE - START_DATE))
小時:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)
分鍾:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)
秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60)
毫秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 1000)
Oracle計算時間差函數 2008-08-20 10:00 兩個Date類型欄位:START_DATE,END_DATE,計算這兩個日期的時間差(分別以天,小時,分鍾,秒,毫秒): 天: ROUND(TO_NUMBER(END_DATE - START_DATE)) 小時: ROUND(TO_NUMBER(END_DATE - START_DATE) * 24) 分鍾: ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60) 秒: ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60) 毫秒: ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 1000)
外加to_date與to_char函數:
ORACLE中:
select to_date('2007-06-28 19:51:20','yyyy-MM-dd HH24:mi:ss') from al;
一般SQL中:
select to_date('2007-06-28 19:51:20','yyyy-MM-dd HH:mm:ss') from al;
區別:
1、HH修改為HH24。
2、分鍾的mm修改為mi。
24 小時的形式顯示出來要用 HH24
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from al;
select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') from al;
to_date() function
1. 日期格式參數 含義說明
D 一周中的星期幾
DAY 天的名字,使用空格填充到 9 個字元
DD 月中的第幾天
DDD 年中的第幾天
DY 天的簡寫名
IW ISO 標準的年中的第幾周
IYYY ISO 標準的四位年份
YYYY 四位年份
YYY,YY,Y 年份的最後三位,兩位,一位
HH 小時,按 12 小時計
HH24 小時,按 24 小時計
MI 分
SS 秒
MM 月
Mon 月份的簡寫
Month 月份的全名
W 該月的第幾個星期
WW 年中的第幾個星期 1. 日期時間間隔操作
當前時間減去 7 分鍾的時間
select sysdate,sysdate - interval '7' MINUTE from al
當前時間減去 7 小時的時間
select sysdate - interval '7' hour from al
當前時間減去 7 天的時間
select sysdate - interval '7' day from al
當前時間減去 7 月的時間
select sysdate,sysdate - interval '7' month from al
當前時間減去 7 年的時間
select sysdate,sysdate - interval '7' year from al
時間間隔乘以一個數字
select sysdate,sysdate - 8 *interval '2' hour from al
2. 日期到字元操作
select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from al
select sysdate,to_char(sysdate,'yyyy-mm-dd hh:mi:ss') from al
select sysdate,to_char(sysdate,'yyyy-ddd hh:mi:ss') from al
select sysdate,to_char(sysdate,'yyyy-mm iw-d hh:mi:ss') from al
參考 oracle 的相關關文檔 (ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515)
3. 字元到日期操作
select to_date('2003-10-17 21:15:37','yyyy-mm-dd hh24:mi:ss') from al
具體用法和上面的 to_char 差不多。
4.TO_NUMBER
使用TO_NUMBER函數將字元轉換為數字
TO_NUMBER(char[, '格式'])
數字格式格式
9 代表一個數字
0 強制顯示0
$ 放置一個$符
L 放置一個浮動本地貨幣符
. 顯示小數點
, 顯示千位指示符
oracle中的to_date參數含義
1.日期格式參數含義說明
D 一周中的星期幾
DAY 天的名字,使用空格填充到9個字元
DD 月中的第幾天
DDD 年中的第幾天
DY 天的簡寫名
IW ISO標準的年中的第幾周
IYYY ISO標準的四位年份
YYYY 四位年份
YYY,YY,Y 年份的最後三位,兩位,一位
HH 小時,按12小時計
HH24 小時,按24小時計
MI 分
SS 秒
MM 月
Mon 月份的簡寫
Month 月份的全名
W 該月的第幾個星期
WW 年中的第幾個星期 1.日期時間間隔操作
當前時間減去7分鍾的時間
select sysdate,sysdate - interval 』7』 MINUTE from al
當前時間減去7小時的時間
select sysdate - interval 』7』 hour from al
當前時間減去7天的時間
select sysdate - interval 』7』 day from al
當前時間減去7月的時間
select sysdate,sysdate - interval 』7』 month from al
當前時間減去7年的時間
select sysdate,sysdate - interval 』7』 year from al
時間間隔乘以一個數字
select sysdate,sysdate - 8 *interval 』2』 hour from al
2.日期到字元操作
select sysdate,to_char(sysdate,』yyyy-mm-dd hh24:mi:ss』) from al
select sysdate,to_char(sysdate,』yyyy-mm-dd hh:mi:ss』) from al
select sysdate,to_char(sysdate,』yyyy-ddd hh:mi:ss』) from al
select sysdate,to_char(sysdate,』yyyy-mm iw-d hh:mi:ss』) from al
參考oracle的相關關文檔(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515)
3. 字元到日期操作
select to_date(』2003-10-17 21:15:37』,』yyyy-mm-dd hh24:mi:ss』) from al
具體用法和上面的to_char差不多。
4. trunk/ ROUND函數的使用
select trunc(sysdate ,』YEAR』) from al
select trunc(sysdate ) from al
select to_char(trunc(sysdate ,』YYYY』),』YYYY』) from al
5.oracle有毫秒級的數據類型
--返回當前時間 年月日小時分秒毫秒
select to_char(current_timestamp(5),』DD-MON-YYYY HH24:MI:SSxFF』) from al;
--返回當前時間的秒毫秒,可以指定秒後面的精度(最大=9)
select to_char(current_timestamp(9),』MI:SSxFF』) from al;
6.計算程序運行的時間(ms)
declare
type rc is ref cursor;
l_rc rc;
l_mmy all_objects.object_name%type;
l_start number default dbms_utility.get_time;
begin
for I in 1 .. 1000 loop
open l_rc for 'select object_name from all_objects '|| 'where object_id = ' || i;
fetch l_rc into l_mmy;
close l_rc;
end loop;
dbms_output.put_line ( round( (dbms_utility.get_time-l_start)/100, 2 ) ||' seconds ...' );
end;
㈣ Access 是什麼意思
Microsoft Office Access是由微軟發布的關系資料庫管理系統。它結合了MicrosoftJet Database Engine 和圖形用戶界面兩項特點,是 Microsoft Office 的系統程序之一。
Microsoft Office Access是微軟把資料庫引擎的圖形用戶界面和軟體開發工具結合在一起的一個資料庫管理系統。它是微軟OFFICE的一個成員, 在包括專業版和更高版本的office版本裡面被單獨出售。
MS ACCESS以它自己的格式將數據存儲在基於Access Jet的資料庫引擎里。它還可以直接導入或者鏈接數據(這些數據存儲在其他應用程序和資料庫)。
軟體開發人員和數據架構師可以使用Microsoft Access開發應用軟體,「高級用戶」可以使用它來構建軟體應用程序。和其他辦公應用程序一樣,ACCESS支持Visual Basic宏語言,它是一個面向對象的編程語言,可以引用各種對象,包括DAO(數據訪問對象),ActiveX數據對象,以及許多其他的ActiveX組件。可視對象用於顯示表和報表,他們的方法和屬性是在VBA編程環境下,VBA代碼模塊可以聲明和調用Windows操作系統函數。
(4)sqltrunk擴展閱讀
特性
Access是一款資料庫應用的開發工具軟體,其開發對象主要是Microsoft JET資料庫和Microsoft SQLServer資料庫。由於在Office 97及以前的版本中,Microsoft JET 3.51及以前版本的資料庫引擎是隨Access一起安裝和發布的,JET資料庫與Access就有了天生的血緣關系,並且Access對JET資料庫做了很多地擴充。
隨著,Microsoft Windows操作系統版本的不斷升級和改良,在Windows XP以後版本中,Microsoft將JET資料庫引擎集成在Windwos操作系統中作為系統組件的一部分一起發布(主要原因是Windows中還有很多組件需要使用JET引擎,活動目錄等)。從此JET資料庫引擎從Access中分離出來,而Access也就成為了一個專門的資料庫應用開發工具。
由於JET資料庫引擎的分離,很多應用程序採用了JET資料庫作為其應用的資料庫,JET資料庫符合關系資料庫理論,有著完整的數據定義、數據處理、數據安全管理體系。在Microsoft Windows操作系統中,隨著Microsoft在ActiveX技術上的發展,Windows中不斷升級換代的數據訪問組件,這些組件包括ODBC、OLEDB、DAO、ADO,JET資料庫引擎和這些組件一起已組成了免費的資料庫管理系統。
Access擁有的報表創建功能能夠處理任何它能夠訪問的數據源。Access提供功能參數化的查詢,這些查詢和Access表格可以被諸如VB6和.NET的其它程序通過DAO或ADO訪問。在Access中,VBA能夠通過ADO訪問參數化的存儲過程。與一般的CS關系型資料庫管理不同,Access不執行資料庫觸發,預存程序或互動式登錄操作。
㈤ 如何編寫一個網路數據收集器
Microsoft Office Access(前名 Microsoft Access)是由微軟發布的關聯式資料庫管理系統。它結合了 Microsoft Jet Database Engine 和 圖形用戶界面兩項特點,是 Microsoft Office的成員之一。
Access能夠存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文軟體公司),或者任何 ODBC 兼容資料庫內的資料。熟練的軟體設計師和資料分析師利用它來開發應用軟體,而一些不熟練的程序員和非程序員的"進階用戶"則能使用它來開發簡單的應用軟體。雖然它支援部份面向對象(OO)技術,但是未能成為一種完整的面向對象開發工具。
其實Access 也是微軟公司另一個通訊程序的名字,想與 ProComm 以及其他類似程序來競爭。可是事後微軟證實這是個失敗計劃,並且將它中止。數年後他們把名字重新命名於資料庫軟體。
[編輯本段]概述
Access 是微軟公司推出的基於Windows的桌面關系資料庫管理系統(RDBMS),是Office系列應用軟體之一。它提供了表、查詢、窗體、報表、頁、宏、模塊7種用來建立資料庫系統的對象;提供了多種向導、生成器、模板,把數據存儲、數據查詢、界面設計、報表生成等操作規范化;為建立功能完善的資料庫管理系統提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分數據管理的任務。
access,一種交換機的主幹道模式。2台交換機的2個埠之間是否能夠建立幹道連接,取決於這2個埠模式的組合。常見的還有
(普通)access
(幹道) Trunk
(自適應) Dynamic-auto
(期望)Dynamic-desirable
[編輯本段]歷史
Microsoft Access 1.0 版本在1992年11月發布。
微軟指定它對系統最小要求為視窗3.0配以4兆節內存.6兆節內存配以最小8兆節硬碟空間(建議最好有14兆節硬碟空間)則為建議的系統要求.當時軟體以7張1.44兆節軟碟發布的載體.
這個軟體能夠有效地處理大量記錄但是測試顯示在某些情況下會導致數據損毀.比如說,大小超過700MB的文件常會出問題。(值得注意的是在1.0版廣泛應用的時候大多數硬碟是小於700MB的。)軟體的使用指南指出過時的設備驅動和錯誤的配置可能回導致數據丟失。
Access的最初名稱是Cirrus。它開發於Visual Basic之前,當時的窗口引擎稱作Ruby。比爾蓋茨看過Ruby的原型後決定把這個基於Basic語言的組件作為一個獨立的可擴展應用程序與Access聯合開發。這個項目稱作Thunder。這兩個項目互相獨立的被作為底層的窗口引擎開發並且互不兼容。 然而,在VBA出現後它們被合並在一起。
1995年末,access 95發布,這是世界上第一個32為關系型資料庫管理系統,使得access的應用得到了普及和繼續發展。
1997年,access 97發布。它的最大特點是在access資料庫中開始支持web技術,這一技術上的發展,開拓了access資料庫從桌面向網路的發展。
21世紀初,microsoft發布access2000,這是微軟強大的桌面資料庫管理系統的第六代產品,也是32為位access的第三個版本。至此,access在桌面關系型資料庫的領域的普及已經躍上了一個新台階。
2003年微軟正式發布了access 2003,這是繼2002年後發布的最新版本,它在繼承了以前版本的有點外,又新增了一些使用功能
[編輯本段]用途
Microsoft Access在很多地方得到廣泛使用,例如小型企業,大公司的部門,和喜愛編程的開發人員專門利用它來製作處理數據的桌面系統。它也常被用來開發簡單的WEB應用程序.這些應用程序都利用ASP技術在Internet Information Services運行.比較復雜的WEB應用程序則使用PHP/MySQL或者ASP/Microsoft SQL Server.
它的使用方便程度和強大的設計工具為初級程序員提供許多功能。不過,這種便於使用可能使人誤解。這類開發者都是沒有在應用或者數據設計方面訓練的辦公室從業人員。因此許多人以為這樣的開發者能夠創造可用的系統,但也有很多人認為工具本身的局限性產生了這樣的誤導。
一些專業的應用程序開發人員使用 Access 用作 快速應用開發,特別是給街道上的推銷員製作一個初型或獨立應用程序的工具。可是如果是透個網路存取數據的話,Access 的可擴放性並不高.因此當程序被較多使用者使用時,他們的選擇多會是傾向於一些客戶端-伺服器為本的方案,例如 Oracle、DB2、Microsoft SQL Server、Windows SharePoint Services、PostgreSQL、MySQL、Alpha Five、MaxDB,或者Filemaker。無論如何,不少 Access 的功能(表單,報告,序列和VB代碼)可以用作其他資料庫的後期應用,包括 JET(檔案為主的資料庫引擎,Access 預設使用)、Microsoft SQL Server、Oracle和任何其他跟ODBC兼容的產品。這種方法允許開發者把一個成熟的應用的數據移動到一台更大功率的伺服器而沒有已經在適當的位置犧牲發展。
很多開發者誰使用Microsoft Access使用Leszynski命名約定,雖然這不普遍;它是一次編程大會,並非一個DBMS實施的規章。
[編輯本段]特性
一好處進入從程序員視角在它的有關兼容性有SQL-質問可能被觀看並且作為SQL語句編輯,並且SQL語句直接在巨視和VBA模里可以被使用操作進入桌子。用戶可能混合並且使用兩個VBA並且"宏"編程形式和邏輯既沒提供面向對象的可能性。
導入導出報表的生成程序,當時有能力和到這項任務的復雜報告創造,沒有另一受歡迎資料庫報表程序的生成程序充滿特色和強有力-水晶報告。MSDE(微軟公司SQL伺服器桌面發動機)2000,袖珍版本的MSSQL伺服器2000,被包括開發版的辦公室XP並且被用於進入可能作為除之外的另一種選擇JET資料庫引擎。(盡快的*版本的MSDE和微軟公司交換伺服器實際上使用這台噴氣發動機處理巨大大量數據並且安置一「贗品」在它之上的那些應用的應用層。大約這事實的缺乏知識因進入/噴口家庭的軟體產品而為不該受不敬做貢獻,特別是關於"大"工程。)
進入分割和粘貼功能性能使它有用工具在其他資料庫之間連結(例如,在數據或者資料庫變換期間的Oracle和微軟公司SQL伺服器)。進入與給與窗子和其他平台應用一起的積分的各種各樣進口和退場門特徵一起來,一經請求從應用的裡面或者手工由用戶其中幾可以被執行。例如非常緊密SNP完全格式化的為分享的形式與沒有全部的進入軟體的人們報告。它也能容易被升級到微軟公司SQL伺服器。
與一般的RDBMS完全不同,它缺乏資料庫觸發和預存程序。自從MS Access 2000 (Jet 4.0),開發人員可以在查詢中設定參數,這跟預存程序很相似的,但這些「預存程序」只能處理一個程序.當資料表內數據發生變化時,它確實允許形式包含被引發的代碼,使用是普通的透過查詢和其他技術在進入營運儲存的程序在方面RDBMS支援這些的。
[編輯本段]發展
進入可提供的編程語言,當時在另一個內產品Microsoft Office傢具,微軟公司應用的Visual Basic。兩個資料庫進入訊息庫COM組成部分被提供:這筆遺產數據存取物體(DAO),用進入和新只可提供ActiveX數據對象(忙亂)。
MicrosoftAccess容易被應用於小的工程但是規模無效對大的工程如果應用被不好設計。
全部資料庫質問,形式和報告被儲存在資料庫里,並且與相關的模型的理想協調,沒有與他們做一個身體上組織的階層的可能性。
一種設計技術是把進入應用在數據和計劃之間進行分發。一資料庫應該只包含桌子和關系,當另一個將有全部計劃時,形式,報告和質問和對第一個資料庫桌子的連接。令人遺憾,當連結時,進入允許沒有有關的道路,因此那些發展環境作為這種生產環境有相同的道路應該(雖然你寫你們自己的能"動態連接程序"常規在里VBA那搜出能一定背面結束檔案以透過這個目錄樹搜尋,如果它發現這條電流通路它不能)。
這種技術也允許開發者在不同的檔案中分申請,因此一些架構是可能的。
Access的優點
(1)存儲方式單一
Access管理的對象有表、查詢、窗體、報表、頁、宏和模塊,以上對象都存放在後綴為(.mdb)的資料庫文件種,便於用戶的操作和管理。
(2)面向對象
Access是一個面向對象的開發工具,利用面向對象的方式將資料庫系統中的各種功能對象化,將資料庫管理的各種功能封裝在各類對象中。它將一個應用系統當作是由一系列對象組成的,對每個對象它都定義一組方法和屬性,以定義該對象的行為和外國,用戶還可以按需要給對象擴展方法和屬性。通過對象的方法、屬性完成資料庫的操作和管理,極大地簡化了用戶的開發工作。同時,這種基於面向對象的開發方式,使得開發應用程序更為簡便。
(3)界面友好、易操作
Access是一個可視化工具,是風格與Windows完全一樣,用戶想要生成對象並應用,只要使用滑鼠進行拖放即可,非常直觀方便。系統還提供了表生成器、查詢生成器、報表設計器以及資料庫向導、表向導、查詢向導、窗體向導、報表向導等工具,使得操作簡便,容易使用和掌握。
(4)集成環境、處理多種數據信息
Access基於Windows操作系統下的集成開發環境,該環境集成了各種向導和生成器工具,極大地提高了開發人員的工作效率,使得建立資料庫、創建表、設計用戶界面、設計數據查詢、報表列印等可以方便有序地進行。
(5)Access支持ODBC(開發資料庫互連,Open Data Base Connectivity),利用Access強大的DDE(動態數據交換)和OLE(對象的聯接和嵌入)特性,可以在一個數據表中嵌入點陣圖、聲音、Excel表格、Word文檔,還可以建立動態的資料庫報表和窗體等。Access還可以將程序應用於網路,並與網路上的動態數據相聯接。利用資料庫訪問頁對象生成HTML文件,輕松構建Internet/Intranet的應用。
ACCESS的缺點
ACCESS是小型資料庫,既然是小型就有他根本的局限性,以下幾種情況下資料庫基本上會吃不消:
1.資料庫過大,一般ACCESS資料庫達到50M左右的時候性能會急劇下降!
2.網站訪問頻繁,經常達到100人左右的在線。
3.記錄數過多,一般記錄數達到10萬條左右的時候性能就會急劇下降!
C函數
函數名: access
功 能: 確定文件的訪問許可權
用 法: int access(const char *filename, int amode);
[編輯本段]access
Synopsis
#include <io.h>
int _access(const char *path,int mode) ;
Description
The access function, when used with files, determines whether the specified file exists and can be accessed as specified by the value of mode. When used with directories, _access determines only whether the specified directory exists; since under Windows all directories have read and write access.
The mode argument can be one of :
00 Existence only
02 Write permission
04 Read permission
06 Read and write permission
Returns
Zero if the file has the given mode, -1 if an error occurs.
Portability :
Windows. Under Unix a similar function exists too.
Note that lcc-win32 accepts both _access (Microsoft convention) and access.
程序例:
#include <stdio.h>
#include <io.h>
int file_exists(char *filename);
int main(void)
{
printf("Does NOTEXIST.FIL exist: %s\n",
file_exists("NOTEXISTS.FIL") ? "YES" : "NO");
return 0;
}
int file_exists(char *filename)
{
return (access(filename, 0) == 0);
}
Access資料庫安全方式
一、密碼式
給資料庫起一個隨機復雜的名稱,避免被猜到被下載,這種方式在以前很流行,因為大家都對自己的代碼很有自信。但隨著錯誤提示對資料庫地址的泄露導致資料庫被非法下載,這種方式也就越來越少人用了。
二、"#"式
在資料庫名稱里加上#號,從URL上請求時#是請求地址和請求參數的一個分隔字元,如果知道了資料庫名,直接請求的話,如:,WEB伺服器會認為請求的是access而不是access#.mdb,所以會提示找不到文件,但是很遺憾,URL中對於這些特殊的字元都會有一個特殊的表示方式,#的特殊表示就是%23,如,那麼access#.mdb將會被下載。還有如果用FlashGet之類的下載工具也可以直接下載。
三、ASP式
這種作法是比較專業但也是很安全的也是現在比較流行的作法,但是現在許多的人只是作了一半,只是將數據名改成ASP而以,這樣的話直接用FlashGet之類的下載工具一樣可以將資料庫下載,這種方式的正確作法有兩步:
第一步:在資料庫內創建一個欄位,名稱隨意,類型是OLE對象,內容設置為單位元組型的"
這段代碼運行完之後將會在資料庫內生成一個nodownload表,表內欄位是notdown。如果資料庫內已有同名的數據表存在請將代碼內的nodownload改成自己想要的數據表名即可。
四、asa式
這種方式的真諦是利用IIS對ASA文件的保護,從而使得資料庫文件不能從URL上直接請求下載,但是這種方式被誤解成只要將文件後綴改成ASA就可以了。要知道IIS只是對global.asa這個文件名有請求保護,所以這種方式只能將資料庫名設置為global.asa,而且要注意的是,設置成global.asa之後最好不要將其放在主機或虛擬目錄的根目錄里,不然會被IIS當然正常的global.asa文件進行嘗試運行的。
[編輯本段]Open Access的信息交流新模式
Open Access(簡稱OA)是在網路環境下發展起來的學術界傳播信息及出版學術信息的一種新模式。它的興起為信息的交流和利用方式產生重大影響,已經受到國際學術界、出版界、圖書館學界等的廣泛關注。
Open Access通常被譯作開放存取、開放獲取,本文採用「開放存取」這一譯法,主要是基於兩個方面的考慮。一是「存取」相對於「獲取」而言,不僅包括用戶的「獲取」,還包括作者的「存放」,所以用「存取」更能全面地覆蓋OA的內涵;二是在圖書館學及情報科學領域,access一詞譯成「存取」已約定成俗。
目前被廣泛接受的關於OA的定義源於布達佩斯開放存取倡議(Budapest Open Access Initiative,BOAI),即:OA意味著用戶通過公共互聯網可以免費閱讀、下載、復制、傳播、列印和檢索論文的全文,或者對論文的全文進行鏈接、為論文建立索引、將論文作為素材編入軟體,或者對論文進行任何其他出於合法目的的使用,而不受經濟、法律和技術方面的任何限制,除非網路本身造成數據獲取的障礙。對復制和傳播的唯一約束,以及版權在此所起的唯一作用是,應該保證作者擁有保護其作品完整性的權利,並要求他人在使用作者的作品時以適當的方式表示致謝並註明引用出處。
推動開放存取運動的重要力量
開放存取符合作者同時也是讀者的非贏利的信息傳播動機和利用需求。在最近幾年蓬勃興起,主要的推動力量有:①政府部門和科研資助機構。一方面通過政策推動開放存取運動。近年來歐美一些國家政府和科研資助機構積極倡導由公共投資支持的科研成果應該為全社會所免費利用和共享,並通過制訂政策來加以保障。如世界上最大的醫學研究資助單位美國國立衛生院(National Institutes of Health,NIH) 的公共存取政策。另一方面提供資金支持。隨著開放存取運動的發展,越來越多的政府部門、科研資助機構、基金會願意為科研成果的開放存取提供資金支持。②學術科研人員。科學研究工作者是科研成果的創造者、評議者,同時還是科研成果的消費者。基於當前學術出版被商業出版者壟斷,學術科研人員作為科研成果的創造者卻不能自由享受科研成果的局面,科學家強烈呼籲要把學術出版的主導權和控制權奪回到科研人員手中。③大學。大學是開放存取運動的重要實踐者和支持者。近年來一些知名大學紛紛推出了機構倉儲,如加州大學、麻省理工、哈佛和斯坦福大學根據學校開放存取政策的要求,保存教員的研究成果,對公眾免費開放並可在網路上獲取。④圖書館。圖書館界是開放存取運動的積極參與者,通過成立推動開放運動的聯盟、在網站上大力宣傳開放資源、建立機構庫等方式,致力於推動和創建服務於科學研究的基於網路環境的學術交流體系。⑤網際網路。從技術的角度講,開放存取一個重要的推動力量就是網際網路。計算機和網路技術在出版領域中的應用,降低了在線出版和在線傳播的總成本,使得開放存取成為有效又可行的學術出版和交流模式。
開放存取的主要影響
開放存取是一種學術交流方式的變革。開放存取的文獻是數字化、在線、免費和幾乎沒有版權和授權的限制的,因此世界上每個人都有機會接觸和共享研究成果,從而加快了學術信息傳播速度,促進了科學研究的快速發展,提升了科學研究的公共利用程度。對於讀者、作者、研究機構、圖書館和出版單位有不同的影響。
①對作者而言,讀者群得到拓展,擴大了學術成果傳播的范圍,增加了學術成果參與交流和被引用的機會,提高了成果的影響力和顯示度。②對讀者而言,無須面對合理使用的爭議或可能侵權的擔憂,可以方便快捷地免費獲取同行的研究成果,同時也提高了獲得資料的時效性。③對於研究機構而言,一方面隨著機構學術成果的廣泛傳播,彰顯了機構的科研實力,提高了機構的知名度。另一方面作為學術成果的利用者,減少了費用支出,避免了為出版學術成果和獲取學術成果的重復付費。④對於資助機構而言,他們資助的研究工作更加公開,影響更大,科研成果得到了更廣泛的傳播,使得投資產生了更大的社會效益。⑤對圖書館而言,一定程度上緩解了圖書館的經費緊張,收集和整理網上的開放存取資源,擴充數字館藏,增強了圖書館的信息保障能力。另外也分流了圖書館用戶,弱化了圖書館信息中介的作用。⑥對出版商而言,OA是一種挑戰,一方面擴大了期刊論文的使用率和影響力,直接效果是提高了論文的被引頻次;另一方面一定程度上影響了發行量和優質稿源,降低了利潤和縮小了市場風份額。
開放存取存在的主要問題
開放存取運動雖然已經蓬勃發展,但在運作經費、質量控制、知識產權等方面存在著不成熟性。①運作經費問題。開放存取期刊、開放存取倉儲的運作是需要成本的,包括審稿費用、硬體投入、資源維護等。目前尚未建立起合理有效的經費支持模式,主要有作者付費、科研機構付費、各類資助等方式,經濟運行機制是最為核心的問題。②知識產權保護問題。作為一種網路出版模式,知識產權的表現形式是什麼,如何指定相應的管理策略,如何保護產權人利益,如何控制讀者與作者之間的權益平衡等問題都急待解決。③質量控制問題。開放存取倉儲應缺少同行審稿,意味著沒有衡量論文質量的客觀方法,只有讀者自己對內容進行評估,可能使那些已處於知識系統頂端者受益。如哈佛大學的開放存取網站可能因其世界一流的美名而吸引讀者,而發展中國家某所不知名的學校或毫無名氣的學者所發表的論文有可能就不那麼受關注。如何制定質量控制策略,特別是如何建立行之有效的、跨機構的評審聯盟制度尤為重要。④技術方面的問題。將先進的技術應用於開放存取,有助於用戶更好的訪問免費資源。因此如何建立全球化的聯邦信息組織與服務體系結構、動態的數字對象管理體系等問題是開放存取可持續發展的重要保證。
開放存取作為一種學術出版與信息交流的新模式,其本質是自由、平等、公正地、無障礙地獲得學術信息。開放存取運動的蓬勃開展,使開放存取資源越來越多,其數量、質量和學術影響力日益增強,相關問題的解決也在實踐中不斷探索和研究。隨著「知識共享就是力量」的理念的日益張揚,開放存取運動會集聚越來越多的關注和支持。[
㈥ SQL 查詢結果導出到EXCEL
用EXCEL的外部數據導入可以使用查詢,但好像不是標準的SQL,這種情況建議你用觸發器之類的把數據查詢導到一張表裡,再考慮導到EXCEL的問題。
而表導到EXCEL的方法就很多了,可以使用EXCEL的導入外部數據,當數據更新時只要刷新一下就好了,不用輸入密碼。
也可以使用SQL SERVER的導入導出工具,導入導出工具可以利用定時同步數據。當然就不用輸入密碼。