包含mssql引入jscript的詞條

本文目錄一覽:

我的站是mssql2005+asp 剛才刪會員信息時出現如下

錯誤信息 Microsoft JETDatabase Engine 錯誤 ‘80004005’ 未指定的錯誤 此類錯誤一般出現於文件系統為NTFS格式中,是IIS匿名帳號(IUSR_計算機名)對相關文件、文件夾操作許可權不足引起的。 一、存放資料庫文件夾對IIS匿名帳號沒有寫入、修改許可權,錯誤表現為無法對資料庫進行更新、寫入 二、 系統臨時文件夾目錄對IIS匿名帳號沒有寫入、修改許可權,錯誤表現為訪問伺服器上任何採用Microsoft JET Database Engine 鏈接資料庫的文件都是出錯。正常情況下是不會出現這個錯誤的,當使用某些系統垃圾清理優化工具、或其它一些因素可能會導致這個目錄許可權發生 改變。所以請慎重使用此類工具。 解決辦法 JET 引擎在鏈接資料庫的時候會在%windir%/temp/目錄下創建臨時文件,而IIS匿名帳號對%windir%/temp/目錄操作許可權不夠,添加IIS匿名帳號(IUSR_計算機名)對%windir%/temp/的讀寫許可權即可。 其它一些未指定的錯誤,可以嘗試重新註冊ASP腳本解釋鏈接庫文件。 依順序運行以下命令: 1.regsvr32 jscript.dll 2.regsvr32 vbscript.dll 3.iisreset

採納哦

資料庫的導入與導出

導出資料庫命令:

mysqldump -u root -p mydb2 e:\mydb.sql

把資料庫mydb2導出到e盤的mydb.sql

注意:在dos下進入mysql安裝的bin目錄下,但是不要登陸。

導入資料庫命令:

mysqldump -u root -p mydb2 e:\mydb.sql

把資料庫e盤的mydb.sql導入到mydb2

注意:要先新建mydb2 然後使用導入語句

oracle 用戶創建 資料庫的導入導出imp/exp

可以在SQLPLUS.EXE或者DOS(命令行)中執行執行環境:可以在SQLPLUS.EXE或者DOS(命令行)中執行,

DOS中可以執行時由於 在oracle 8i 中 安裝目錄ora81BIN被設置為全局路徑,

該目錄下有EXP.EXE與IMP.EXE文件被用來執行導入導出。

創建用戶

給用戶增加導入數據許可權的操作

第一,啟動sql*puls

第二,以system/manager登陸

第三,create user 用戶名 IDENTIFIED BY 密碼 (如果已經創建過用戶,這步可以省略)

第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,

DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,

DBA,CONNECT,RESOURCE,CREATE SESSION TO 用戶名字

第五, 運行-cmd-進入dmp文件所在的目錄,

imp userid=system/manager full=y file=*.dmp

或者 imp userid=system/manager full=y file=filename.dmp

執行示例:

F:WorkOracle_Databackupimp userid=test/test full=y file=inner_notify.dmp 17jquery.com

下面介紹的是導入導出的實例。

數據導出:

1 將資料庫TEST完全導出,用戶名system 密碼manager 導出到D:daochu.dmp中

exp system/manager@TEST file=d:daochu.dmp full=y

exp fang/fang@ORCL file=d:oais20100401.dmp full=y

exp oais/oais@ORCL file=d:oais_mj.dmp full=y

2 將資料庫中system用戶與sys用戶的表導出

exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)

3 將資料庫中的表inner_notify、notify_staff_relat導出

exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)

exp fang/fang@ORCL file=d:oais20100401_essmenu.dmp tables=(essmenu)

4 將資料庫中的表table1中的欄位filed1以”00″打頭的數據導出

exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=” where filed1 like ‘00%'”

上面是常用的導出,對於壓縮,既用winzip把dmp文件可以很好的壓縮。

也可以在上面命令後面 加上 compress=y 來實現。 一起jquery,17jquery

數據的導入

1 將D:daochu.dmp 中的數據導入 TEST資料庫中。

imp system/manager@TEST file=d:daochu.dmp

imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y

上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行導入。

在後面加上 ignore=y 就可以了。

2 將d:daochu.dmp中的表table1 導入

imp system/manager@TEST file=d:daochu.dmp tables=(table1)

基本上上面的導入導出夠用了。不少情況要先是將表徹底刪除,然後導入。 MSSQL的導入導出有三種方法,不可以在cmd模式下進行:1.使用Transact-SQL進行數據導入導出 我們很容易看出,Transact-SQL方法就是通過SQL語句方式將相同或不同類型的資料庫中的數據互相導入導出或者彙集在一處的方法。如果是在不同的SQL Server資料庫之間進行數據導入導出,那將是非常容易做到的。一般可使用SELECT INTO FROM和INSERT INTO。使用 SELECT INTO FROM時INTO後跟的表必須存在,也就是說它的功能是在導數據之前先建立一個空表,然後再將源表中的數據導入到新建的空表中,這就相當於表的複製(並不會複製表的索引等信息)。而INSERT INTO的功能是將源數據插入到已經存在的表中,可以使用它進行數據合併,如果要更新已經存在的記錄,可以使用UPDATE。 SELECT * INTO table2 FROM table1 –table1和table2的表結構相同 INSERT INTO table2 SELECT * FROM table3 –table2和table3的表結構相同 當在異構資料庫之間的進行數據導入導出時,情況會變得複雜得多。首先要解決的是如何打開非SQL Server資料庫的問題。 在SQL Server中提供了兩個函數可以根據各種類型資料庫的OLE DB Provider打開並操作這些資料庫,這兩個函數是OPENDATASOURCE和OPENROWSET。它們的功能基本上相同,不同之處主要有兩點。 2. 使用命令行BCP導入導出數據 很多大型的系統不僅僅提供了友好的圖形用戶介面,同時也提供了命令行方式對系統進行控制。在SQL Server中除了可以使用SQL語句對數據進行操作外,還可以使用一個命令行工具BCP對數據進行同樣的操作。BCP是基於DB-Library 客戶端庫的工具。它的功能十分強大,BCP能夠以並行方式將數據從多個客戶端大容量複製到單個表中,從而大大提高了裝載效率。但在執行並行操作時要注意的是只有使用基於 ODBC 或 SQL OLE DB 的 API 的應用程序才可以執行將數據並行裝載到單個表中的操作。 BCP可以將SQL Server中的數據導出到任何OLE DB所支持的資料庫的,如下面的語句是將authors表導出到excel文件中。 bcp pubs.dbo.authors out c:\temp1.xls -c -q -S”GNETDATA/GNETDATA” -U”sa” -P”password” BCP不僅能夠通過命令行執行,同時也可以通過SQL執行,這需要一個系統存儲過程xp_cmdshell來實現,如上面的命令可改寫為如下形式。 EXEC master..xp_cmdshell ‘bcp pubs.dbo.authors out c:\temp1.xls -c -q -S”GNETDATA/GNETDATA” -U”sa” -P”password”‘ 3. 使用數據轉換服務(DTS)導入導出數據 DTS是SQL Server中導入導出數據的核心,它除有具有SQL和命令行工具BCP相應的功能外,還可以靈活地通過VBScript、JScript等腳本語言對數據進行檢驗、凈化和轉換。 SQL Server為DTS提供了圖形用戶介面,用戶可以使用圖形界面導入導出數據,並對數據進行相應的處理。同時,DTS還以com組件的形式提供編程介面,也就是說任何支持com組件的開發工具都可以利用com組件使用DTS所提供的功能。DTS在SQL Server中可以保存為不同的形式,可以是包的形式,也可以保存成Visual Basic源程序文件,這樣只要在VB中編譯便可以使用DTS com組件了。 DTS和其它數據導入導出方式最大的不同就是它可以在處理數據的過程中對每一行數據進行深度處理。以下是一段VBScript代碼,這段代碼在處DTS理每一條記錄時執行,DTSDestination表示目標記錄,DTSSource表示源記錄,在處理逗婚姻狀況地時,將源記錄中的逗婚姻狀況地中的0或1轉換成目標記錄中逗已婚地或逗未婚地。 Function Main() DTSDestination(“姓名”) = DTSSource(“姓名”) DTSDestination(“年齡”) = DTSSource(“年齡”) If DTSDestination(“婚姻狀況”) = 1 Then DTSDestination(“婚姻狀況”) = “已婚” Else DTSDestination(“婚姻狀況”) = “未婚” End If Main = DTSTransformStat_OK End Function

SQL資料庫中導入數據

1. 使用Transact-SQL進行數據導入導出我們很容易看出,Transact-SQL方法就是通過SQL語句方式將相同或不同類型的資料庫中的數據互相導入導出或者彙集在一處的方法。如果是在不同的SQL Server資料庫之間進行數據導入導出,那將是非常容易做到的。一般可使用SELECT INTO FROM和INSERT INTO。使用 SELECT INTO FROM時INTO後跟的表必須存在,也就是說它的功能是在導數據之前先建立一個空表,然後再將源表中的數據導入到新建的空表中,這就相當於表的複製(並不會複製表的索引等信息)。而INSERT INTO的功能是將源數據插入到已經存在的表中,可以使用它進行數據合併,如果要更新已經存在的記錄,可以使用UPDATE。SELECT * INTO table2 FROM table1 –table1和table2的表結構相同 INSERT INTO table2 SELECT * FROM table3 –table2和table3的表結構相同當在異構資料庫之間的進行數據導入導出時,情況會變得複雜得多。首先要解決的是如何打開非SQL Server資料庫的問題。在SQL Server中提供了兩個函數可以根據各種類型資料庫的OLE DB Provider打開並操作這些資料庫,這兩個函數是OPENDATASOURCE和OPENROWSET。它們的功能基本上相同,不同之處主要有兩點。(1) 調用方式不同。OPENDATASOURCE的參數有兩個,分別是OLE DB Provider和連接字元串。使用OPENDATASOURCE只相當於引用資料庫或者是服務(對於SQL Server、Oracle等資料庫來說)。要想引用其中的數據表或視圖,必須在OPENDATASOURCE(…)後進行引用。在SQL Server中通過OPENDATASOURCE查詢Access資料庫abc.mdb中的table1表SELECT * FROM OPENDATASOURCE(‘Microsoft.Jet.OLEDB.4.0’, ‘Provider=Microsoft.Jet.OLEDB.4.0;Data Source=abc.mdb;Persist Security Info=False’)… table1OPENROWSET相當於一個記錄集,可以將直接當成一個表或視圖使用。在SQL Server中通過OPENROWSETE查詢Access資料庫abc.mdb中的table1表SELECT * FROM OPENROWSET(‘Microsoft.Jet.OLEDB.4.0’, ‘abc.mdb’; ‘admin’;”,’SELECT * FROM table1′)(2) 靈活度不同。OPENDATASOURCE只能打開相應資料庫中的表或視圖,如果需要過濾的話,只能在SQL Server中進行處理。而OPENROWSET可以在打開資料庫的同時對其進行過濾,如上面的例子,在OPENROWSET中可以使用SELECT * FROM table1對abc.mdb中的數據表進行查詢,而OPENDATASOURCE只能引用table1,而無法查詢table1。因此,OPENROWSET比較OPENDATASOURCE更加靈活。2. 使用命令行BCP導入導出數據很多大型的系統不僅僅提供了友好的圖形用戶介面,同時也提供了命令行方式對系統進行控制。在SQL Server中除了可以使用SQL語句對數據進行操作外,還可以使用一個命令行工具BCP對數據進行同樣的操作。BCP是基於DB-Library 客戶端庫的工具。它的功能十分強大,BCP能夠以並行方式將數據從多個客戶端大容量複製到單個表中,從而大大提高了裝載效率。但在執行並行操作時要注意的是只有使用基於 ODBC 或 SQL OLE DB 的 API 的應用程序才可以執行將數據並行裝載到單個表中的操作。BCP可以將SQL Server中的數據導出到任何OLE DB所支持的資料庫的,如下面的語句是將authors表導出到excel文件中。bcp pubs.dbo.authors out c:\temp1.xls -c -q -S”GNETDATA/GNETDATA” -U”sa” -P”password”BCP不僅能夠通過命令行執行,同時也可以通過SQL執行,這需要一個系統存儲過程xp_cmdshell來實現,如上面的命令可改寫為如下形式。EXEC master..xp_cmdshell ‘bcp pubs.dbo.authors out c:\temp1.xls -c -q -S”GNETDATA/GNETDATA” -U”sa” -P”password”‘3. 使用數據轉換服務(DTS)導入導出數據DTS是SQL Server中導入導出數據的核心,它除有具有SQL和命令行工具BCP相應的功能外,還可以靈活地通過VBScript、JScript等腳本語言對數據進行檢驗、凈化和轉換。SQL Server為DTS提供了圖形用戶介面,用戶可以使用圖形界面導入導出數據,並對數據進行相應的處理。同時,DTS還以com組件的形式提供編程介面,也就是說任何支持com組件的開發工具都可以利用com組件使用DTS所提供的功能。DTS在SQL Server中可以保存為不同的形式,可以是包的形式,也可以保存成Visual Basic源程序文件,這樣只要在VB中編譯便可以使用DTS com組件了。DTS和其它數據導入導出方式最大的不同就是它可以在處理數據的過程中對每一行數據進行深度處理。以下是一段VBScript代碼,這段代碼在處DTS理每一條記錄時執行,DTSDestination表示目標記錄,DTSSource表示源記錄,在處理「婚姻狀況」時,將源記錄中的「婚姻狀況」中的0或1轉換成目標記錄中「已婚」或「未婚」。Function Main() DTSDestination(“姓名”) = DTSSource(“姓名”) DTSDestination(“年齡”) = DTSSource(“年齡”) If DTSDestination(“婚姻狀況”) = 1 Then DTSDestination(“婚姻狀況”) = “已婚” Else DTSDestination(“婚姻狀況”) = “未婚” End If Main = DTSTransformStat_OK End Function上述的三種數據導入導出方法各有其利弊,它們之間的相互比較如圖1如示。B二、性能的比較使用Transact-SQL方式。如果是SQL Server資料庫之間的導入導出,速度將非常快,但是使用OPENDATASOURCE和OPENROWSET方法利用OLE DB Provider打開並操作資料庫時速度會慢一些。使用BCP命令方式。如果不需要對數據進行驗證等操作的話,使用它還是非常快的,這是因為它的內部使用c介面的DB-library,所以在操作資料庫時速度有很大的提升。使用DTS方式導數據應該是最好的方式了。由於它整合了Microsoft Universal Data Access技術與Microsoft ActiveX技術,因此不僅可以靈活地處理數據,而且在數據導入導出的效率是非常高的

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/194749.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-02 14:41
下一篇 2024-12-02 14:41

相關推薦

發表回復

登錄後才能評論