當前位置:首頁 » 數據倉庫 » sqlsever導入資料庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlsever導入資料庫

發布時間: 2022-04-12 23:49:11

sql server的數據如何導入到mysql資料庫

有多種方法啊。介紹其中一種,使用mysql資料庫的odbc驅動。步驟:
1.安裝mysql資料庫的odbc驅動,mysql-connector-odbc-3.51.23-win32.msi(其中*是版本號),下載並安裝。
2.在mysql中創建資料庫實例。
3.打開控制面板
-->
管理工具
-->
數據源odbc,在用戶dsn中添加一個mysql
odbc
3.51數據源。
4.在登錄login選項卡中輸入數據源名稱data
source
name,此處輸入mysqldns(也可以自己隨便命名,只要在後面導入數據的時候選擇正確的數據源名字就行);然後輸入伺服器server,用戶user,密碼password,輸入正確後選擇要導入的資料庫,database選擇你需要導入的資料庫。在連接選項connect
options中根據需要設置mysql使用的埠port和字元集character
set。
註:字元集一定要和mysql伺服器相對應,如果mysql使用了gbk字元集,則一定要設置字元集為gbk,否則導入到sql
server可能會出現問號亂碼。
5.打開sql
server企業管理器,選擇該資料庫,單擊右鍵選擇所有任務
-->
導出數據。
6.『選擇數據源』為默認,『選擇目的』為剛剛安裝的mysql數據源,用戶/系統dsn為mysqldns。在『指定表復制或查詢』中選擇『從源資料庫復製表和視圖』,在『選擇源表和視圖』里,選擇需要導入的表,即可將數據從mssqlserver資料庫導入到mysql資料庫中。

⑵ 如何將資料庫文件導入sqlserver

1、打開SQL Server,可以選擇Windows方式連接。

2、打開資料庫,右鍵某一個資料庫,選擇「新建查詢(Q)」

3、再代碼界面輸入如下代碼,點擊F5鍵或者點擊運行按鈕即可。

代碼如下:以下是一個例子:我這里有個大牛聚集地,前面九七三中間打四五四後面兩個零,組合起來就行了。

EXECsp_attach_db@dbname='你的資料庫名',
@filename1='mdf文件路徑(包綴名)',
@filename2='Ldf文件路徑(包綴名)'

4、可以看到導入成功。如果導入不成功,則需要修改mdf,ldf文件的許可權。右鍵-屬性-安全-編輯,完全控制選擇允許。

5、這樣導入問題即可迎刃而解,當然,有時會遇到版本不兼容問題,低版本不能導入高版本SQL的mdf和ldf文件。

⑶ sqlserver導資料庫有幾種方法

1. SQL Server導入導出向導,這種方式是最方便的.

導入向導,微軟提供了多種數據源驅動,包括SQL Server Native Cliant, OLE DB For Oracle,Flat File Source,Access,Excel,XML等,基本上可以滿足系統開發的需求.
同樣導出向導也有同樣多的目的源驅動,可以把數據導入到不同的目的源.
對資料庫管理人員來說這種方式簡單容易操作,導入時SQL Server也會幫你建立相同結構的Table.

2. 用.NET的代碼實現(比如有一個txt或是excel的檔案,到讀取到DB中)
2.1 最為常見的就是循環讀取txt的內容,然後一條一條的塞入到Table中.這里不再贅述.
2.2 集合整體讀取,使用OLEDB驅動.
代碼如下:

代碼
string strOLEDBConnect = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\1\;Extended Properties='text;HDR=Yes;FMT=Delimited'";
OleDbConnection conn = new OleDbConnection(strOLEDBConnect);
conn.Open();
SQLstmt = "select * from 1.txt";//讀取.txt中的數據
DataTable dt=new DataTable();
OleDbDataAdapter da = new OleDbDataAdapter(SQLstmt, conn);
da.Fill(dt);//在DataSet的指定范圍中添加或刷新行以匹配使用DataSet、DataTable 和IDataReader 名稱的數據源中的行。
if(dt.Rows.Count>0)
foreach(DataRow dr in dt.Rows)
{
SQLstmt = "insert into MyTable values('" + dr..."

3.BCP,可以用作大容量的數據導入導出,也可以配合來使用.
語法:

代碼
bcp {[[database_name.][schema].]{table_name | view_name} | "query"}
{in | out | queryout | format} data_file
[-mmax_errors] [-fformat_file] [-x] [-eerr_file]
[-Ffirst_row] [-Llast_row] [-bbatch_size]
[-ddatabase_name] [-n] [-c] [-N] [-w] [-V (70 | 80 | 90 )]
[-q] [-C { ACP | OEM | RAW | code_page } ] [-tfield_term]
[-rrow_term] [-iinput_file] [-ooutput_file] [-apacket_size]
[-S [server_name[\instance_name]]] [-Ulogin_id] [-Ppassword]
[-T] [-v] [-R] [-k] [-E] [-h"hint [,...n]"]

請注意數據導入導出的方向參數:in,out,queryout
如:

如:

4.BULK INSERT. T-SQL的命令,允許直接導入數據
語法:

BULK INSERT
[ database_name. [ schema_name ] . | schema_name. ] [ table_name | view_name ]
FROM 'data_file'
[ WITH
(
[ [ , ] BATCHSIZE =batch_size ]
[ [ , ] CHECK_CONSTRAINTS ]
[ [ , ] CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ]
[ [ , ] DATAFILETYPE =
{ 'char' | 'native'| 'widechar' | 'widenative' } ]
[ [ , ] FIELDTERMINATOR = 'field_terminator' ]
[ [ , ] FIRSTROW = first_row ]
[ [ , ] FIRE_TRIGGERS ]
[ [ , ] FORMATFILE ='format_file_path' ]
[ [ , ] KEEPIDENTITY ]
[ [ , ] KEEPNULLS ]
[ [ , ] KILOBYTES_PER_BATCH =kilobytes_per_batch ]
[ [ , ] LASTROW =last_row ]
[ [ , ] MAXERRORS =max_errors ]
[ [ , ] ORDER ( { column [ ASC | DESC ] } [ ,...n ] ) ]
[ [ , ] ROWS_PER_BATCH =rows_per_batch ]
[ [ , ] ROWTERMINATOR ='row_terminator' ]
[ [ , ] TABLOCK ]
[ [ , ] ERRORFILE ='file_name' ]
)]

重要參數:

FIELDTERMINATOR,欄位分隔符
FIRSTROW:第一個數據行
ROWTERMINATOR:行終結符
如:

BULK INSERT dbo.ImportTest
FROM 'C:\ImportData.txt'
WITH ( FIELDTERMINATOR =',', FIRSTROW = 2 )

5. OPENROWSET也是T-SQL的命令,包含有DB連接的信息和其它導入方法不同的是,OPENROWSET可以作為一個目標表參與INSERT,UPDATE,DELETE操作.
語法:

OPENROWSET
( { 'provider_name', { 'datasource';'user_id';'password'
| 'provider_string' }
, { [ catalog. ] [ schema. ] object
| 'query'
}
| BULK 'data_file',
{ FORMATFILE ='format_file_path' [ <bulk_options> ]
| SINGLE_BLOB | SINGLE_CLOB | SINGLE_NCLOB }
} )<bulk_options> ::=
[ , CODEPAGE = { 'ACP' | 'OEM' | 'RAW' | 'code_page' } ]
[ , ERRORFILE ='file_name' ]
[ , FIRSTROW = first_row ]
[ , LASTROW = last_row ]
[ , MAXERRORS = maximum_errors ]
[ , ROWS_PER_BATCH =rows_per_batch ]

如:

INSERT INTO dbo.ImportTest
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\ImportData.xls', 'SELECT * FROM [Sheet1$]') WHERE A1 IS NOT NULL

6.OPENDATASOURCE
語法:
OPENDATASOURCE ( provider_name,init_string )

如:

INSERT INTO dbo.ImportTest
SELECT * FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0',
'Data Source=C:\ImportData.xls;Extended Properties=Excel 8.0')...[Sheet1$]

7.OPENQUERY.是在linked server的基礎上執行的查詢.所以執行之前必須先建立好link server.OPENQUERY的結果集可以作為一個table參與DML的操作.

語法:
OPENQUERY (linked_server ,'query')

如:

EXEC sp_addlinkedserver 'ImportData',
'Jet 4.0', 'Microsoft.Jet.OLEDB.4.0',
'C:\ImportData.xls',
NULL,
'Excel 8.0'
GO

INSERT INTO dbo.ImportTest
SELECT *
FROM OPENQUERY(ImportData, 'SELECT * FROM [Sheet1$]')

⑷ 如何把mysql中的資料庫導入sqlserver

這個就是資料庫的異構資料庫遷移,因為兩種資料庫的一些語法有所不同,所以如果直接導出mysql的建表語句,以及insert語句,有可能在sqlserver也會失敗,最簡單的就是用第三方工具,比如kettle,這個可以輕松支持異構遷移,網上有很多相關使用文檔,簡單配置一下就可以了

⑸ sqlserver中怎麼將sql文件導入資料庫中

1.打開SQL Server Management Studio,在對象資源管理器中,展開「SQLServer 實例」→「資料庫」→「Benet」節點,單擊滑鼠右鍵,選擇「任務」→「導入數據」命令。出現歡迎界面,單擊「下一步」按鈕,出現「選擇數據源」對話框。在「選擇數據源」對話框中設置如下選項

⑹ sqlserver2012怎麼導入資料庫

一、SQL
Server基本上,沒有導入、導出資料庫的概念,只有:
1、備份和還原資料庫。
(將特定資料庫打包,備份成一個文件,或從備份的文件還原)
2、分離和附加資料庫。
(直接將特定的資料庫從服務中分離,分離後可以將資料庫的文件復制到別的電腦上。或相特定資料庫(從別的電腦上復制來的,或以前保留下來的)的文件重新安置在SQL
Server的服務上。)
3、上兩個類似於你的想法的操作。
二、此外,還有導入、導出數據。
1、指的是將數據表導出成excel表、ACCESS數據表等功能,有適當的驅動還可以導出成別的數據表,比如Vfox
pro的dbf等。當然,也有反過來對應的操作。
2、也可以在兩個SQL
Server中進行數據的交換。
3、注意的是,導入、導出數據一般只能導出特定的表裡的數據,SQL的一些高級功能、存儲過程代碼,是不能被導出的。
三、具體的你想要哪方面的操作,你可以依上面的思路去網路一下,相關資料很好找的。此外,SQL
Server
2008至2012各版,這一塊的界面、操作基本相似,找不到2012的資料,看前幾版的也是一樣的。

⑺ 怎樣將sqlserver+database+data+file+導入到sqlserver資料庫

摘要 2.單擊「下一步」按鈕,出現「指定表復制或查詢」對話框。在「指定表復制或查詢」對話框中選中「復制一個或多個表或視圖的數據」單選按鈕,單擊「下一步」按鈕。出現「選擇源表和源視圖」對話框,設置如下選項,如圖4.9所示,然後單擊「下一步」按鈕。