資料庫中存/取檔案
--SQL資料庫中用image來儲存檔案,ACCESS中用ole物件來儲存檔案,下面給出幾種方法,實現資料庫中檔案的儲存/讀取.
--方法.用bcp
/*--bcp 實現二進位制檔案的匯入匯出
支援image,text,ntext欄位的匯入/匯出
image適合於二進位制檔案,包括:Word文件,Excel文件,圖片,音樂等
text,ntext適合於文字資料檔案
注意:匯入時,將覆蓋滿足條件的所有行
匯出時,將把所有滿足條件的行匯出到指定檔案中
此儲存過程僅用bcp實現
鄒建2003.08-----------------*/
--整理:Tony 2010.4
/*--
--資料匯出
exec p_binaryIO 'zj','','','acc_演示資料..tb','img','c:/zj1.dat'
--資料匯入
exec p_binaryIO 'zj','','','acc_演示資料..tb','img','c:/zj1.dat','',0
--*/
if exists(select * from dbo.sysobjects where id = object_id(N'[dbo].[p_binaryIO]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure
GO
Create proc p_binaryIO
@servename varchar (30),--伺服器名稱
@username varchar (30), --使用者名稱
@password varchar (30), --密碼
@tbname varchar (500), --資料庫..表名
@fdname varchar (30), --欄位名
@fname varchar (1000), --目錄+檔名,處理過程中要使用/覆蓋:@filename+_temp
@tj varchar (1000)='', --處理條件.對於資料匯入,如果條件中包含
@isout bit=1 --1匯出((預設),0匯入
AS
declare @fname_in varchar(1000) --bcp處理應答檔名
,@fsize varchar(20) --要處理的檔案的大小
,@m_tbname varchar(50) --臨時表名
,@sql varchar(8000)
--則取得匯入檔案的大小
if @isout=1
set @fsize='0'
else
begin
create table #tb(可選名 varchar(20),大小 int
,建立日期 varchar(10),建立時間 varchar(20)
,上次寫操作日期 varchar(10),上次寫操作時間 varchar(20)
,上次訪問日期 varchar(10),上次訪問時間 varchar(20),特性 int)
insert into #tb
exec master..xp_getfiledetails@fname
select @fsize=大小 from #tb
drop table #tb
if @fsize is null
begin
print '檔案未找到'
return
end
end
--生成資料處理應答檔案
set @m_tbname='[##temp'+cast(newid() as varchar(40))+']'
set @sql='select * into '+@m_tbname+' from(
select null as 型別
union all select 0 as 字首
union all select '+@fsize+' as 長度
union all select null as 結束
union all select null as 格式
) a'
exec(@sql)
select @fname_in=@fname+'_temp'
,@sql='bcp "'+@m_tbname+'" out "'+@fname_in
+'" /S"'+@servename
+case when isnull(@username,'')='' then ''
else '" /U"'+@username end
+'" /P"'+isnull(@password,'')+'" /c'
exec master..xp_cmdshell@sql
--刪除臨時表
set @sql='drop table '+@m_tbname
exec(@sql)
if @isout=1
begin
set @sql='bcp "select top 1 '+@fdname+' from '
+@tbname+case isnull(@tj,'') when '' then ''
else ' where '+@tj end
+'" queryout "'+@fname
+'" /S"'+@servename
+case when isnull(@username,'')='' then ''
else '" /U"'+@username end
+'" /P"'+isnull(@password,'')
+'" /i"'+@fname_in+'"'
exec master..xp_cmdshell@sql
end
else
begin
--為資料匯入準備臨時表
set @sql='select top 0 '+@fdname+' into '
+@m_tbname+' from ' +@tbname
exec(@sql)
--將資料匯入到臨時表
set @sql='bcp "'+@m_tbname+'" in "'+@fname
+'" /S"'+@servename
+case when isnull(@username,'')='' then ''
else '" /U"'+@username end
+'" /P"'+isnull(@password,'')
+'" /i"'+@fname_in+'"'
exec master..xp_cmdshell@sql
--將資料匯入到正式表中
set @sql='update '+@tbname
相關推薦
資料庫中存/取檔案
--SQL資料庫中用image來儲存檔案,ACCESS中用ole物件來儲存檔案,下面給出幾種方法,實現資料庫中檔案的儲存/讀取. --方法.用bcp /*--bcp 實現二進位制檔案的匯入匯出 支援image,text,ntext欄位的匯入/匯出 imag
在Django框架下向MongoDB資料庫中匯入.scv檔案資料
在學習了一些MongoDB和Django框架的一些基礎知識後,我對MongoDB以及Django知識已經有了一個初步的掌握,是時候對學長的專案裡面的東西進行一個初步的實踐了,於是我選擇從Django框架中向MongoDB匯入資料的這部分程式碼開始。通過複用幾段學長專案裡的程式碼,在我自己新建的專案中
php向資料庫中匯入.sql檔案
<?php function insert($file,$database,$name,$root,$pwd)// { //將表匯入資料庫
URL中文引數往資料庫中存資料時發生亂碼
解決方法:在tomcat_home\conf\server.xml 中的Connector元素中設定URIEncoding屬性為合適的字元編碼 <Connector port="8080" protocol="HTTP/1.1" connectionTime
如何用B+樹設計資料庫中的索引檔案
宣告: 1、B+樹的程式碼不是我寫的,是網上的,關於java寫的B+樹的都是這個程式碼,我也不知道怎麼寫原作者。 2、如果不懂B+樹是肯定看不懂這篇blog的。 3、我在原有程式碼上簡單修改了兩個地方:第一、在葉子節點的屬性集合裡添加了file屬性。第二、
1、用Workbench向MySQL資料庫中匯入SQL檔案
一、點選workbench登入資料庫二、新建schema,自己命名三、可以看到新建的schema中table等均為空四、左上角選單欄file-Open SQL Script-選中要匯入的SQL檔案五、在開啟的SQL檔案中,找到除註釋外的第一行程式碼,在其前面加一句“use [
向MySQL資料庫中匯入SQL檔案出錯,innodb
在MySQL資料庫中匯入SQL檔案,出現“Unsuccessful”的錯誤,執行效果如下圖所示: 將錯誤提示面板翻至頂端,可以看到資料庫給出的錯誤提示,如下圖: 根據錯誤提示可
如何將資料庫中存的樹轉化為樹形列表(以easyui的tree為例)
很多時候,我們會把一棵樹存放到資料庫中,當前臺需要展示一個樹形列表時,將這棵樹讀取出來並顯示,這個過程是怎麼實現的呢? 這篇文章是以構造一棵easyui前臺框架的一個樹形列表為例,後臺框架是spring MVC+JPA。 首先看一下資料庫中這顆樹是怎麼存的: 樹的結構一目
Oracle資料庫中分組取最小時間的那條記錄的所有欄位資訊
MERGE INTO user_member_info aUSING ( select min(UP.created) as cre,min(up.shop_no) as shop_no,up.memberid as memberid from user_pla
從windows環境中向linux環境中orale資料庫中匯入dmp檔案
1.從本地上開啟遠端連線SecureCRT連線虛擬機器 2.進入oracle使用者下 3.輸入命令 imp sys/[email protected]:1521/ORCL file= D:\表名.dmp tables=表名 在這裡D:\
SpringMVC、mybatis查詢資料庫中的二進位制檔案,在前端頁面顯示圖片
在做專案的時候,圖片一般是存在單獨的伺服器中,資料庫中只存url地址,這樣做事比較好的,減輕了資料庫的壓力,存取圖片的時候也簡單。然而,也不排除直接將二進位制檔案存到資料庫中的情況,這種做法,無論
從ORACLE資料庫中匯出DMP檔案或將DMP檔案匯入ORACLE資料庫的兩種操作
1 淺析DMP DMP是一種資料庫檔案,其內容包括了整個資料庫和表以及用於的所有資訊,如儲存過程,表定義,表結構等。用於程式設計師除錯程式。2 匯出DMP檔案的兩種方式 匯出資料庫的DMP檔案一般使用命令提示符或SQLPlus兩種方式。這兩種方式在命令上
oracle資料庫中重要的檔案(控制檔案、資料檔案、重寫日誌檔案、歸檔日誌檔案、初始化引數檔案)
本篇著重從物理角度來說明oracle資料庫的組成。 Oracle資料庫,就是作業系統檔案的集合。包括下面幾種檔案。 1 控制檔案 引數檔案init.ora記錄了控制檔案的位置 控制檔案中的主要資訊: 資料庫的名字,檢查點資訊,資料庫建立的時間戳,所有的資料檔案
python爬蟲由淺入深1-從網頁中爬取檔案並儲存至本地
學過python語法的基礎,由此將由淺入深地進行以此python爬蟲的相關知識點的梳理 從網頁中爬取檔案並儲存至本地 import requests import os url = "http://image.nationalgeographic.com.cn/2017
SQL Server 2008 R2 清空資料庫中ldf日誌檔案
/************************************************************ * Sql Server 2008 R2 清空資料庫中ldf日誌檔案
scrapy 詳細例項-爬取百度貼吧資料並儲存到檔案和和資料庫中
Scrapy是一個為了爬取網站資料,提取結構性資料而編寫的應用框架。 可以應用在包括資料探勘,資訊處理或儲存歷史資料等一系列的程式中。使用框架進行資料的爬取那,可以省去好多力氣,如不需要自己去下載頁面、資料處理我們也不用自己去寫。我們只需要關注資料的爬取規則就行,scrap
【附上解釋】爬取A股所有上市公司的資訊並存儲到資料庫或者是csv檔案中
輸入到mysql版 輸出會有警告,但是不影響。 附上了詳細的解釋~ import pandas as pd import requests import random from bs4 import BeautifulSoup import pymysql f
資料庫中的BLOB欄位--存圖片等檔案
我們大家都知道Oracle資料庫的Blob是一個較為特殊欄位,它比long欄位的實際應用效能更為好,它的主要功能是用來儲存類似圖片之類的相關二進位制的資料。以下就是文章的中主要內容的介紹。 寫入Blob欄位和寫入其它型別欄位的方式非常不同,因為Blob自身有一
將資料庫中已有表匯入到powerDesigner生成pdm檔案
如何將資料庫中已有表匯入到powerDesigner生成pdm檔案 1、create new PDM; 2、select database menu; 3、click Reverse Engin
ElasticSearch 學習記錄之 分散式文件儲存往ES中存資料和取資料的原理
分散式文件儲存 ES分散式特性 遮蔽了分散式系統的複雜性 叢集內的原理 垂直擴容和水平擴容 真正的擴容能力是來自於水平擴容–為叢集新增更多的節點,並且將負載壓力和穩定性分散到這些節點中 ES叢集特點 一個叢集擁有相同