SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\DB.mdb";User ID=Admin;Password=')...表名
select * from opendatasource('Microsoft.Jet.OLEDB.4.0','Data Source="D:\db.mdb";User
ID=Admin;Password=')...Student where name = '我'
select * from newTable
-----------------------------------------------------------------------------------------------
--
2.将access導入SQL server
-- ======================================================
在SQL SERVER 裡運作:
SELECT *
INTO newtable
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\DB.mdb";User ID=Admin;Password=' )...表名
-----------------------------------------------------------------------------------------------
--
3.将SQL SERVER表裡的資料插入到Access表中
-- ======================================================
在SQL SERVER 裡運作:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source=" c:\DB.mdb";User ID=Admin;Password=')...表名
(列名1,列名2)
select 列名1,列名2 from sql表
執行個體:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'C:\db.mdb';'admin';'', Test)
select id,name from Test
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\trade.mdb'; 'admin'; '', 表名)
SELECT *
FROM sqltablename
insert into OpenDataSource('Microsoft.Jet.OLEDB.4.0','Data Source="D:\db.mdb";User
ID=Admin;Password=')...Student(studentid,name) select staffid,name from staff
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'D:\db.mdb';'admin';'', Student)
select accountid,name from tblbaccount
select * from openrowset('Microsoft.Jet.OLEDB.4.0','D:\db.mdb';'admin';'',Student)
-----------------------------------------------------------------------------------------------
--
SQL Server 阻止了對元件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的
通路,因為此元件已作為此伺服器安全配置的一部分而被關閉。系統管理者可以通過使用 sp_configure 啟用
'Ad Hoc Distributed Queries'。有關啟用 'Ad Hoc Distributed Queries' 的詳細資訊,請參閱 SQL
Server 聯機叢書中的 "外圍應用配置器"。
查詢相關資料,找到解決方法: 啟用Ad Hoc Distributed Queries: exec sp_configure 'show advanced
options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure 使用完成後,
關閉Ad Hoc Distributed Queries: exec sp_configure 'Ad Hoc Distributed Queries',0 reconfigure
exec sp_configure 'show advanced options',0 reconfigure
exec sp_configure 'show advanced options',1 reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure
SELECT *
INTO car
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
'Data Source="D:\GCLsoft\jz\Debug\jzdata.mdb";User ID=Admin;Password=' )...car
SELECT *
INTO moto
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
'Data Source="D:\GCLsoft\jz\Debug\jzdata.mdb";User ID=Admin;Password=' )...moto
-------------------------
oracle 設定主鍵、修改列等sql語句(轉載)2010-01-11 11:59
規則表---〉分區表
索引組織表
簇
修改列名
alter table 表明 rename column rename 老列名 to 新列名
添加 字段
alter table 表名 add(字段名 類型);
删除字段
alter table 表名 drop column 字段名
修改列屬性
alter table 表名 modify (字段名 新屬性)
設定某一個字段為無用狀态
alter table 表名 set unuesed column 字段名
删除無用字段
alert table 表名 drop unused cloumns
添加主鍵
alert table 表名 add constraint pkKey primary key(字段清單)
表分區
oracle 允許使用者對标進一步的規劃,即對标進一步的拆分,将表分成若幹個邏輯部分,
每個部分成其為标的分區
表分區的優點
增強可用性。單個分區出現故障不會影響到其它分區
均衡IO。不同的分區可以影射到不同的磁盤中
改善性能
範圍分區法
這種分區方法是根據表中的列值的範圍對标進行分區
分區時, 首先依據列中得值的可能的範圍進行劃分
例:
create table student
(
studentId integer not null,
studentName varchar2(20),
scroe integer
)
partition by rang(Score)
(
partition p1 values lessthan(60),
partition p2 values lessthan(70),
partition p3 values lessthan(80),
partition p4 values lessthan(maxvalue),
) ;
散列分區
散列分區法提供了一種通過制定分區編号來均勻地分布資料的方法
他通過hash 函數間資料映射到相應的分區上
它使得資料均勻的配置設定到各分區上,各分區大小趨向一緻
例:
create table department
(
depno integer not null,
depname varchar2(20),
)
partition by hash(depno)
(
partition p1 ,
partition p2,
) ;
複合分區
複合分區是先對資料進行範圍分區,然後在每個字分區理由進行散列分區的一種分區方法
例:
create table salgrade
(grade number ,losal number hisal number , hisal number )
partition by rang(grade)
subpartition by hash (losal, hisal)(
partition p1 value lessthan (10),
(subpartition sp1,subpartition sp2),
partition p1 value lessthan (20),
(subpartition sp3,subpartition sp4),
)
清單分區
清單分區允許使用者明确的控制行到分區的映射
不同的範圍分區或列分區,他運許按自然的方式對無序和不相幹的資料集進行分組的組織
例如:
partition by list(字段)
(
partition 列名稱 values (值清單),
partition 列名稱 values (值清單),
。。。
。。。
partition 列名稱 values (值清單)
)
指定的分區中查詢
select * from tableName partition(p1)
表分區的維護
移動,添加,删除,結合, 截斷,拆分,合并,交換
SQL SERVER 與ACCESS、EXCEL的資料轉換
熟悉SQL SERVER 2000的資料庫管理者都知道,其DTS可以進行資料的導入導出,其實,我們也可以使用
Transact-SQL語句進行導入導出操作。在Transact-SQL語句中,我們主要使用OpenDataSource函數、
OPENROWSET 函數,關于函數的詳細說明,請參考SQL聯機幫助。利用下述方法,可以十分容易地實作SQL
SERVER、ACCESS、EXCEL資料轉換,詳細說明如下:
一、SQL SERVER 和ACCESS的資料導入導出
正常的資料導入導出:
使用DTS向導遷移你的Access資料到SQL Server,你可以使用這些步驟:
1在SQL SERVER企業管理器中的Tools(工具)菜單上,選擇Data Transformation
2Services(資料轉換服務),然後選擇 czdImport Data(導入資料)。
3在Choose a Data Source(選擇資料源)對話框中選擇Microsoft Access as the Source,然後鍵入你
的.mdb資料庫(.mdb檔案擴充名)的檔案名或通過浏覽尋找該檔案。
4在Choose a Destination(選擇目标)對話框中,選擇Microsoft OLE DB Prov ider for SQL Server,選
擇資料庫伺服器,然後單擊必要的驗證方式。
5在Specify Table Copy(指定表格複制)或Query(查詢)對話框中,單擊Copy tables(複制表格)。
6在Select Source Tables(選擇源表格)對話框中,單擊Select All(全部標明)。下一步,完成。
Transact-SQL語句進行導入導出:
1.在SQL SERVER裡查詢access資料:
-- ======================================================
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\DB.mdb";User ID=Admin;Password=')...表名
-----------------------------------------------------------------------------------------------
--
2.将access導入SQL server
-- ======================================================
在SQL SERVER 裡運作:
SELECT *
INTO newtable
FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\DB.mdb";User ID=Admin;Password=' )...表名
-----------------------------------------------------------------------------------------------
--
3.将SQL SERVER表裡的資料插入到Access表中
-- ======================================================
在SQL SERVER 裡運作:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source=" c:\DB.mdb";User ID=Admin;Password=')...表名
(列名1,列名2)
select 列名1,列名2 from sql表
執行個體:
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'C:\db.mdb';'admin';'', Test)
select id,name from Test
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'c:\trade.mdb'; 'admin'; '', 表名)
SELECT *
FROM sqltablename
-----------------------------------------------------------------------------------------------
--
二、SQL SERVER 和EXCEL的資料導入導出
1、在SQL SERVER裡查詢Excel資料:
-- ======================================================
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是個查詢的示例,它通過用于 Jet 的 OLE DB 提供程式查詢 Excel 電子表格。
SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel
5.0')...xactions
-----------------------------------------------------------------------------------------------
--
2、将Excel的資料導入SQL server :
-- ======================================================
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
執行個體:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel
5.0')...xactions
-----------------------------------------------------------------------------------------------
--
3、将SQL SERVER中查詢到的資料導成一個Excel檔案
-- ======================================================
T-SQL代碼:
EXEC master..xp_cmdshell 'bcp 庫名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
參數:S 是SQL伺服器名;U是使用者;P是密碼
說明:還可以導出文本檔案等多種格式
執行個體:EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -
S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname"
queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
在VB6中應用ADO導出EXCEL檔案代碼:
Dim cn As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 庫名.dbo.表名" queryout E:\DT.xls
-c -Sservername -Usa -Ppassword'"
------------------------------------------------------------------------------------------------
4、在SQL SERVER裡往Excel插入資料:
-- ======================================================
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1
(A1,A2,A3) values (1,2,3)
T-SQL代碼:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]
(bestand, produkt) VALUES (20, 'Test')
-----------------------------------------------------------------------------------------------
轉載于:https://www.cnblogs.com/rabtor/archive/2012/08/28/2660287.html