對象轉sql
Ⅰ 如何將 Access 資料庫轉換到 sql Server
步驟如下:
1. 如圖step1顯示,連接到遠程mssql資料庫:
注意:如果access資料庫中的數據有被刪除過,那麼自動編號的數據,導入到sql server時,會重新編號,如果要避免這個情況,需要在第5步,把編輯好的sql語句,放到查詢分析器中運行,主要是讓轉換過程不再重新創建這個表,而是直接附加數據到這個表,如圖special,選中「Enable identity insert」,保證插入後的數據編號不會重新設置。
Ⅱ 如何把資料庫備份轉換成sql文件
如何把資料庫備份轉換成sql文件
1、打開SQL Server Management Studio 2008 ,連接到資料庫伺服器,展開對象資源管理器到資料庫節點
2、選擇需要將數據導出到腳本的資料庫,將包含所有的存儲過程,表,視圖,表裡的數據等等。
3、右擊選中的數據,按照以下路徑選擇生成腳本向導 :AdventureWorks -〉任務 -〉生成腳本
4、當點擊生成腳本,彈出一個向導--生成資料庫對象腳本。
5、下一步到達設置腳本編寫選項,進入高級設置對話框,關鍵是要編寫腳本的數據類型這里,默認是僅限架構,選擇架構和數據或者是數據都可以吧數據導成腳本
執行完就可以看到結果了
Ⅲ C#中的DateTime類對象是否可以直接傳遞給SQL Server存儲過程中的DateTime,如果不可以的話,應該如何轉換
可以傳的,
c#操作sql裡面的一些參數時一般最後都會轉換成string類型的
然後sql會在內部在轉換成自己的類型.
一般情況下非int欄位都可以用string類型代替的. 轉換成string類型就好了.
Ⅳ 怎麼將一個資料庫中的視圖、存儲過程、函數 轉換為SQL腳本
在資料庫中選中要轉成SQL腳本的視圖或者其他,右鍵==》編寫腳本為==》CREATE到==》新查詢編輯器窗口 然後保存新打開的編輯器窗口就行了
Ⅳ AC資料庫 如何轉換 SQL 資料庫
這些資料對你可能有幫助
由於SQL2000裡面沒有"自動編號",所以你的以"自動編號"設置的欄位都會變成非空的欄位,這就必須手工修改這些欄位,並把他的"標示"選擇"是",種子為"1",增量為"1",
2,另外,ACCESS2000轉換成SQL2000後,原來屬性為"是/否"的欄位將被轉換成非空的"bit",這時候你必須修改成自己想要的屬性了;
ACCESS轉SQL SERVER中的一些經驗
1.ACCESS的資料庫中的自動編號類型在轉化時,sql server並沒有將它設為自動編號型,我們需在SQL創建語句中加上identity,表示自動編號!
2.轉化時,跟日期有關的欄位,SQL SERVER默認為smalldatetime型,我們最好將它變為datetime型,因為datetime型的范圍比smalldatetime型大。我遇見這種情況,用smalldatetime型時,轉化失敗,而用datetime型時,轉化成功。
3.對此兩種資料庫進行操作的sql語句不全相同,例如:在對ACCESS資料庫進行刪除紀錄時用:"delete * from user where id=10",而對SQL SERVER資料庫進行刪除是用:"delete user where id=10".
4.日期函數不相同,在對ACCESS資料庫處理中,可用date()、time()等函數,但對
SQL SERVER資料庫處理中,只能用datediff,dateadd等函數,而不能用date()、time()等函數。
5.在對ACCESS資料庫處理中,sql語句中直接可以用一些VB的函數,像cstr()函數,而對SQL SERVER資料庫處理中,卻不能用。
1、必須先安裝Microsoft Office Access 2003,和SQL Server2000。2、把舊的動網資料庫備份,備份完成後,用Access 2003打開動網舊資料庫,在打開時會出現一個警告,不要理會它(安全警告),按打開鍵,打開後按工具欄——資料庫實用工具——轉換資料庫——轉換為2002-2003格式,把資料庫轉換成2003格式。
2、轉換完成後再用Access 2003打開,打開後按工具欄——資料庫實用工具——升遷向導——新建資料庫——填寫SQL資料庫登陸名稱、密碼和要新建的動網資料庫(准備轉成新的動網資料庫),按下一步,按「 》」鍵,再按下一步,選取所有選項,再按下一步,選擇「不對應用程序作任何改動」,再按完成。
3、打開SQL企業管理器——資料庫��吹礁詹判陸ǖ畝���菘飭稅桑�慊髡飧鍪�菘庖幌攏�緩笤詮ぞ呃浮���?/FONT>SQL腳本——常規——全部顯示——編寫全部對象腳本——確定(記住存放的位置)。
4、用記事本打開剛才生成的SQL腳本,在編輯欄——替換——查找內容為「smalldatetime」替換為「datetime」——替換全部;完成後再在編輯欄——替換——查找內容為「nvarchar」替換為「varcha」——替換全部,完成後保存退出。
5、打開SQL企業管理器——資料庫——點擊這個資料庫一下新建的動網資料庫,然後在工具欄——SQL查詢分析器——文件——打開——「剛才生成的SQL腳本」——查詢——執行,然後關閉窗口。
6、再回到SQL企業管理器——資料庫——點擊這個資料庫一下新建的動網資料庫,然後打開工具欄——資料庫轉換服務——導入數據——下一步——數據源「Microsoft Access」文件名「為舊的動網資料庫」——下一步——再下一步——從源數據復製表和視圖——下一步——全選——下一步——立即運行——下一步——完成。
7、修改動網文件夾兩個文件conn.asp和inc\const.asp。
SQL時間函數是getdata()
Ⅵ ACCESS資料庫轉換sql 資料庫怎麼轉,請高手指教。
<%'@ Language=VBScript CODEPAGE=936%>
<%' Option Explicit %>
<%
' ============================================
' 常用全局變數
' ============================================
' 資料庫對象
Dim oConn, oRs, sSql
' ============================================
' 初始數據處理
' ============================================
' 初始化資料庫連接
Call DBConnBegin()
' ********************************************
' 以下為資料庫相關函數
' ********************************************
' ============================================
' 初始化資料庫連接對象
' 使用原則:最遲調用,最早釋放
' ============================================
Sub DBConnBegin()
' 如果資料庫對象已打開,不要再打開
If IsObject(oConn) = True Then Exit Sub
' 你可以不需要打開資料庫連接對象而直接打開記錄集對象,但如果你需要打開多個記錄集對象的話,效率是很低的。
' 如果你不創建一個資料庫連接對象,ADO會在每個記錄集打開時自動創建一個新的資料庫連接對象,就算你用的是相同的SQL語句。
Set oConn = Server.CreateObject("ADODB.Connection")
On Error Resume Next
' Access資料庫
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(""&dns&"jackiedb/mydatazw.mdb")
If Err.Number > 0 Then
' 顯示錯誤信息,並且發送郵件通知管理員
'Call DBConnError(Err)
' 完全地退出正在運行的腳本
Response.End
End If
' 創建一個記錄集
Set oRs = Server.CreateObject( "ADODB.Recordset" )
End Sub
' ============================================
' 釋放資料庫連接對象
' ============================================
Sub DBConnEnd()
On Error Resume Next
oRs.Close
Set oRs = Nothing
oConn.Close
Set oConn = Nothing
End Sub
%>
誰告訴我把這段ACCESS資料庫的連接改成MS SQL的連接啊,SQL庫名「feichang」,求根據這段連接代碼寫全寫詳細,謝謝啦!
Ⅶ 怎樣將對象型數據轉換為關系型數據
最簡單的當然是使用ORM框架。如果不想使用ORM框架,那麼就需要手動的去將JDBC層的ResultSet轉換成對象或者對象轉換成SQL。這些都可以直接封裝在DAO層,不需要讓它的復雜性泄漏出來。
Ⅷ 什麼方法將oracle資料庫轉化為sql資料庫
步驟如下:
打開Sqlserver,如圖選中目標資料庫,右鍵->任務->導入數據
Ⅸ sql語句字元轉換對象
期望描述不夠清楚,想弄成什麼樣子?
Ⅹ 怎樣將ACC資料庫轉換為SQL資料庫需要哪些輔助軟體
1、必須先安裝Microsoft Office Access 2003,和SQL Server資料庫。
2、用Access 2003打開動資料庫,打開後按工具欄——資料庫實用工具——轉換資料庫——轉換為2002-2003格式,把資料庫轉換成2003格式。
3、轉換完成後再用Access 2003打開,打開後按工具欄——資料庫實用工具——升遷向導——新建資料庫——填寫SQL資料庫登陸名稱、密碼和要新建的資料庫(准備轉成新的資料庫),按下一步,按「 》」鍵,再按下一步,選取所有選項,再按下一步,選擇「不對應用程序作任何改動」,再按完成。
4、打開SQL企業管理器——資料庫---選中相應的資料庫---右鍵所有任務-----生成SQL腳本——常規——全部顯示——編寫全部對象腳本——確定(記住存放的位置)。
5、用記事本打開剛才生成的SQL腳本,在編輯欄——替換——查找內容為「smalldatetime」替換為「datetime」——替換全部;完成後再在編輯欄——替換——查找內容為「nvarchar」替換為「varcha」——替換全部,完成後保存退出。
6、打開SQL企業管理器——資料庫——點擊新建的資料庫,然後在工具欄——SQL查詢分析器——文件——打開——「剛才生成的SQL腳本」——查詢——執行,然後關閉窗口。
7、再回到SQL企業管理器——資料庫——點擊新建的資料庫,然後打開工具欄——資料庫轉換服務——導入數據——下一步——數據源「Microsoft Access」文件名「為舊的acc資料庫」——下一步——再下一步——從源數據復製表和視圖——下一步——全選——下一步——立即運行——下一步——完成。
8、最後補充:
(1)由於SQL2000裡面沒有"自動編號",所以你的以"自動編號"設置的欄位都會變成非空的欄位,這就必須手工修改這些欄位,並把他的"標示"選擇"是",種子為"1",增量為"1",
(2)另外,ACCESS2000轉換成SQL2000後,原來屬性為"是/否"的欄位將被轉換成非空的"bit",這時候你必須修改成自己想要的屬性了;
(3)另外,大家要注意對時間函數的把握.ACCESS與SQL是有很多不同的.
根據以上3點,再回到SQL企業管理器——資料庫——點擊這個資料庫下新建的資料庫,將所有表的欄位屬性根據以上3點進行修改
補充說明:
自動增加欄位需要重寫。在access中經常使用的自動編號欄位,導入到mssql後,他並不是自增型的int,需要手工設置,把導入後的自動編號欄位的標識的「否」改為「是」,「種子」和「遞增量」都為「1」,才能成為自動編號
所有的默認值都丟失了。主要是數字類型和日期類型
所有now(),time(),date()要改成getdate()
所有datediff(『d『, time1, time2)要改成datediff(day, time1, time2)
所有datediff(『ww『, time1, time2)要改成datediff(week, time1, time2)
所有datediff(『d『, time1, time2)要改成datediff(day, time1, time2)
在mssql server中,有許多保留字,在access中是沒有的,當你把數據導入到mssql的時候,問題就出來了。mssql在導入的時候,會自動給這些欄位(包括資料庫中的表名)加上「[欄位名]」,因此,你必須修改你的腳本,把相應的欄位名字(或者表名字)加上中括弧,或改變欄位名字為不是mssql的保留字
在用access關於時間的使用,大家喜歡使用「select * from aaaa while time="&now()」這樣的sql語句,然而,在mssql中沒有「now()」這個函數,而是使用「getdate()」,所以,所有的sql語句中的「now()」必須換成「getdate()」。
日期函數不相同,在對ACCESS資料庫處理中,可用date()、time()等函數,但對
SQL SERVER資料庫處理中,只能用datediff,dateadd等函數,而不能用date()、time()等函數。
轉化時,跟日期有關的欄位,SQL SERVER默認為smalldatetime型,我們最好將它變為datetime型,因為datetime型的范圍比smalldatetime型大。有時用smalldatetime型時,轉化失敗,而用datetime型時,轉化成功
isnull(rowname)要改成rowname = null
CursorType要改成1,也就是打開資料庫時要給出第一個數字參數為1,否則記錄可能
顯示不完整
備注類型要通過cast(column as varchar)來使用
true/false類型不能使用,要變為1/0
對此兩種資料庫進行操作的sql語句不全相同,例如:在對ACCESS資料庫進行刪除紀錄時用:"delete * from user where id=10",而對SQL SERVER資料庫進行刪除是用:"delete user where id=10".
在對ACCESS資料庫處理中,sql語句中直接可以用一些VB的函數,像cstr()函數,而對SQL SERVER資料庫處理中,卻不能用
在access的sql語句中的時間使用變數查詢的時候,大家一般使用"select * from aaaa while time=#"&變數名&"#",在mssql中是不行的,他的語法是「select * from aaaa while time=『"&變數名&"『"」。(意思是讓你把日期時間變數當成字元串來使用,呵呵~~~)
原來ASP里的「DELETE * FROM ……」要改為「DELETE FROM ……」
有可能rs.update失敗,修改成update 表名 set 欄位=『值』 這樣通過(遇到的情況,提示為:
Microsoft OLE DB Provider for SQL Server 錯誤 『80040e38『
樂觀並發檢查失敗。已在此游標之外修改了該行。
/Admin_ClassOrder.asp,行 164 )
access裡面除法可以使用"\"或者"/",MSSQL裡面只能使用"/"
第二份收集的
1.資料庫導入以後,自動增加欄位需要重寫,所有的數字類型需要增加長度,最好用bigint。
2.所有的默認值都丟失了。主要是數字類型和日期類型。
3.所有sql語句中的now(),time(),date()要改成getdate()。
4.所有sql語句中的datediff(『d『, time1, time2)要改成datediff(day, time1, time2),相應的其他日期屬性也需要更改。
5.有可能一些true/false的判斷語句不能正常使用了,這里是指用整數型來表達bool的情況,要變為1/0。
6.備注類型要通過cast(column as varchar)來使用。
7.CursorType要改成1,也就是打開資料庫時要給出第一個數字參數為1,否則記錄可能
顯示不完整。也就是說,一般要寫成rs.open sql, conn, 1。
8.isnull(rowname)要改成rowname = null
9.程序里如果有直接對整型變數的判斷,也需要進行顯示的轉換,如:
if rs("id") = 0 then
要變為
if clng(rs("id")) = 0 then