① 怎樣修改外部導入數據的sql statement
怎樣修改外部導入數據的sql statement
如果兩張表欄位相同的話: insert into newtable as select * from oldtable 如果兩張表欄位不同的話: insert into newtable(col1,col2,col3...) as select a.col1,a.col2a.col3... from oldtable b 註:newtable是目標表 oldtable是源表
② SQl語句過長問題解決方案
其實也很簡單,不用VARCHAR2用LOG或BLOG單無儲蓄為>=2GB應該是夠的。
③ 使用PL/SQL的文本導入器欄位內容太長無法導入,該怎麼弄,請大家幫我想想辦法。謝謝啦。
SQL Server 2005 開始,那個導入導出向導與 SQL Server 2000 的不一樣。以文本文件(.txt,.csv)導入資料庫表格為例,默認情況下,新版導入導出向導是默認取文本文件的前 200 行數據(在選擇平面數據源-高級-建議類型裡面可以更改行數),來決定每一個欄位的(最小)數據類型,然後導入時將文本文件欄位的數據類型轉換為數據表相應欄位的數據類型。這樣就可能發生截斷和類型轉換出錯。
解決辦法就是,人工選擇(文本文件)數據源後,在導入導出向導的第二個頁面,「選擇數據源」(文本)後,「高級」選項裡面,根據數據表依次指定文本文件每一列的數據類型(DataType)和寬度(OutputColumnWidth),使其一致,然後就可以執行導入。這一步需要花點時間。
④ Java中sql 欄位自增長如何用prepareStatement(sql);實現,具體見補充代碼
如果是自增欄位,從一開始就不能手動寫代碼set值,只能使用自增。如果你手動set一個1,而欄位沒自增過,那麼下次欄位就會自增為1,這樣兩個值就沖突了。解決辦法是將表重新構建一下,或將自增初始值設為0,讓他從頭開始自增,而程序中凡是認為set值的地方都去掉,在sql語句中不要insert這個欄位
⑤ mysql 的sql文件太大怎麼導入
我有個大的 SQL 文件要回放,需要馬上做,但又怕壓死業務,怎麼辦?
先來建一個測試庫:
可以看到 CPU 已經非常冷靜,並且緩慢的處理數據。
💡小貼士:pv 工具既可以用於顯示文件流的進度,也可以用於文件流的限速。在本實驗中,我們用 PV 來限制 SQL 文件發到 MySQL client 的速度,從而限制 SQL 的回放速度,達到不影響其他業務的效果。
⑥ 超大SQL文件如何導入資料庫
大SQL文件導入資料庫的方法:
1、點擊"開始"-"運行",輸入cmd,然後回車進入到DOS界面。
2、進入MYSQL安裝目錄。
3、假如MYSQL安裝在D盤,SQL文件也在D盤,加入命名為demo.sql,操作的方法是:
輸入"D:",回車即進入到D盤了,然後輸入"cd mysql/bin"並回車
4、再輸入"mysql -u root -p database d:/demo.sql",回車顯示要輸入密碼
5、如果MYSQL資料庫的密碼為空則不輸入任何東西回車,沒有出現錯誤說明導入成功。
注意:上面的database是要導入的資料庫名。
⑦ java代碼中用JDBC導入sql腳本
之前也有人問過這樣的問題,這是我的建議 1. 可以看看JAVA的這個方法:java.lang.Runtime.getRuntime().exec();缺點:由於你的資料庫密碼為空,所以用這個方法 .bat也無法運行2.用數據流讀入SQL文件,然後用 String.toString().split(";"); 來分離出各個單獨的SQL語句,一個一個的執行。缺點:如果SQL文件里有注釋部分,就會麻煩點。3.用Ant寫腳本執行4.資料庫工具執行我還比較會選擇3,4,資料庫的操作,特別是對表結構的改變,還是在資料庫里執行會比較好比如刪表操作,就最好不要寫在代碼,在資料庫里,誤刪除還能rollback,程序里就麻煩了
⑧ 如何用plsql工具把excel導入資料庫
lsql
developer導入excel數據
最近處理將excel數據導入oracle的工作比較多。之前都是採用sqlldr命令行導入的方式處理。每次導入不同格式的excel表數據,都需要先把excel文件由「.xls」格式轉換為「.csv」格式,再手工根據excel文件創建對應得數據表,然後再修改「.ctl」配置文件,操作下來比較麻煩。今天在查看plsql
developer菜單的時候,才發現在「工具」原來就有「odbc導入器…」的功能,不僅可以導入excel數據,而且還可以導入dbase、ms
access中的數據。
具體的導入操作如下:
1、點擊「工具」—「odbc導入器…」菜單,打開導入功能。
2、
選擇要連接類型和導入的excel文件
3、
選擇所要導入數據所在的「sheet」表
4、
根據sheet表結構創建oracle數據表
5、
完成數據導入
⑨ 如何向access資料庫導入sql文件
一.使用SQL Server的資料庫導入/導出功能。首先在要導入到的SQL Srever資料庫上右鍵,選擇「任務」,然後選擇「導入數據」,按照提示下一步直到完成即可成功將Access資料庫導入到SQL Server資料庫中,此種方法如果SQLServer資料庫中沒有相應的數據表,則會自動創建改表,但是約束等表關系不會同步導入,如果SQLServer中有相同名稱並且屬性相同的數據表,則會直接將Access資料庫中的對應表的數據導入。
在導入過程中,還可以通過SQL語句指定要導入的數據。
使用這種方法一般會出現以下兩種錯誤:
(1)無法建立數據流連接
為連接管理器「{FFBF32BF-EE84-4F94-ACDB-D4C5AC4C2941}」指定的連接類型「OLEDB」未被識別為有效的連接管理器類型。當視圖創建未知連接類型的連接管理器時會返回此錯誤。請檢查連接類型名稱的拼寫是否正確。
(2)無法連接源組件
找不到連接「SourceConnectionOLEDB」。如果找不到特定的連接元素,Connections集合將發生此錯誤。
其他信息:
找不到連接「SourceConnectionOLEDB」。如果找不到特定的連接元素,Connections集合將發生此錯誤。
({0DE0CDBB-BCD6-4261-A118-B0CB22DA3C4A})
具體解決辦法是打開SqlServerConfiguration Manage,右鍵單擊「SqlServer Integration Services」,選擇「屬性」,將登錄身份修改為「LocalSystem(本地系統)」,然後重新啟動該服務。
二.使用Access資料庫的數據升遷功能。首先點擊「工具」菜單,選擇「資料庫實用工具」,選擇「升遷向導」,這是會提示該功能尚未安裝,需要安裝XXX之類的信息,點擊安裝,等待安裝成功後,即可彈出「升遷向導」對話框,按照提示下一步直到完成,即可將Access資料庫導入到SQLServer資料庫中。使用此種方法的好處是Access資料庫中的所有數據以及表關系都會被原樣導入到SQL Server資料庫中。
三.使用SQL語句批量導入。1當只需要導入Access資料庫中的指定表以及指定表的指定列到SQLServer資料庫中時,前面的兩種方法就顯得不那麼方便了。而使用SQL語句導入可以方便快捷的導入需要的數據。具體代碼如下
(1)SQLServe資料庫中已存在要導入數據的表.(這樣可以事先按照要導入的Access資料庫的數據表創建好需要的關系)
Insert intotable(tid,tname)SELECT id,nameFROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source="c:\Shop.mdb";User ID=Admin;Password=' )...ShopGoods
(2)SQLServer資料庫中不存在要存儲導入數據的表.(使用下面的代碼會直接在SQL Server資料庫中創建相應的數據表)
SELECTid,nameINTO table(tid,tname)FROM OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0','Data Source="c:\Shop.mdb";User ID=Admin;Password=' )...ShopGoods
其中,table是SQL Server中用來存儲Access導入數據的數據表名,ShopGoods是指要導入到SQLServer中的Access資料庫中的數據表名。前面的三個點不能省略。
但使用這種方法時有可能出現以下錯誤:
SQLServer 阻止了對組件 'Ad Hoc DistributedQueries' 的STATEMENT'OpenRowset/OpenDatasource' 的訪問,因為此組件已作為此伺服器安全配置的一部分而被關閉。系統管理員可以通過使用sp_configure 啟用 'Ad Hoc Distributed Queries'。有關啟用 'Ad Hoc Distributed Queries' 的詳細信息,請參閱 SQLServer 聯機叢書中的 "外圍應用配置器"。
具體解決辦法是使用如下語句啟用「'AdHoc Distributed Querie」
EXECsp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'AdHoc Distributed Queries', 1 GO RECONFIGURE GO