1. 如何建立資料庫連接
你可以考慮寫一個簡單的網頁,這個網頁要用到動態腳本,如php,asp,jsp等等然後在後台建立一個資料庫,如果要求功能很簡單的話,就用asp+access,或者php+mysql(這個要用到資料庫空間,但是資料庫管理很方便,可以都是用圖形化界面操作),你必須了解sql資料庫,這樣操作任何資料庫就都不難了,這些都要建立在你必須了解動態腳本的基礎上,這樣你用DW做的表單才能提交到資料庫,其實你還可以讓他將表單數據發到指定郵箱的(這種方法比較簡單,使用DW弄就可以,不必要了解動態腳本)!
2. Java中如何與資料庫建立連接
導入java.sql包
一、載入要連接資料庫的驅動程序
//Jdbc-Odbc橋 和 Microsoft Access 資料庫
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// SQL Server 驅動程序:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
註:Class.forName()方法將給定的類載入到JVM,如果系統中不存在給定的類,則會引發異常
二、通過驅動程序管理器得到連接實例
Connection conn=null;
//1.
//1.1建立數據源
conn=DriverManager.getConnection("jdbc:odbc:MyDataSource"); //MyDataSource是數據源名稱
//1-2、不建立數據源
conn=DriverManager.getConnection("jdbc:odbc:;Driver=Microsoft Access Driver (*.mdb);DBQ=C:\\VBTest.mdb");
//2.SQL Server
conn=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=mydb","sa","");
註:DriverManager類跟蹤已注冊的驅動程序,通過getConnection(URL)方法, 找到一個能夠連接至URL中指定的資料庫驅動程序
它接收三個參數, 分別表示1 數據源的名稱、類型 2 用戶名(可選) 3 密碼(可選)
三、基於連接對象建立處理器對象
Statement stmt=conn.createStatement();
四、准備sql命令
String sql="select * from Student";
五、執行命令返回結果集
ResultSet rs=stmt.executeQuery(sql);
六、顯示結果集
while(rs.next())//只要後面有記錄
{
//對當前行的所有欄位遍歷
for(int i=1;i<=rs.getMetaData().getColumnCount();i++)
{
System.out.print(rs.getMetaData().getColumnName(i)+": ");//顯示欄位名
System.out.println(rs.getString(i));//顯示欄位當前值
}
System.out.println();
}
七、關閉資源
rs.close(); //關閉記錄集
stmt.close(); //關閉處理器對象
conn.close(); //關閉連接對象
預處理器的應用:
//3.基於連接對象建立預處理器對象
PreparedStatement pstmt=conn.prepareStatement("insert into student values(?,?,?,?)");
//4.給預處理對象的參數賦值
pstmt.setString(1,"8888");
pstmt.setString(2,"nemo");
pstmt.setString(3,"accp");
pstmt.setString(4,"sanxianglu");
//5.執行預處理命令
int i=pstmt.executeUpdate();
System.out.println(i+"條記錄已成功插入!");
3. 如何建立sqlserver 外部資料庫連接
Windows Vista 和 Windows Server 2008 以及更高版本
以下過程通過使用具有高級安全 Microsoft 管理控制台 (MMC) 管理單元的 Windows 防火牆來配置該 Windows 防火牆。從 Windows Vista 和 Windows Server 2003 開始提供此管理單元。高級安全 Windows 防火牆僅配置當前配置文件。有關高級安全 Windows 防火牆的詳細信息,請參閱配置 Windows 防火牆以允許 SQL Server 訪問。
打開 Windows 防火牆的埠以進行 TCP 訪問
在「開始」菜單上,單擊「運行」,鍵入 WF.msc,然後單擊「確定」。
在「高級安全 Windows 防火牆」的左窗格中,右鍵單擊「入站規則」,然後在操作窗格中單擊「新建規則」。
在「規則類型」對話框中,選擇「埠」,然後單擊「下一步」。
在「協議和埠」對話框中,選擇 TCP。選擇「特定本地埠」,然後鍵入資料庫引擎實例的埠號,例如默認實例的埠號 1433。單擊「下一步」。
在「操作」對話框中,選擇「允許連接」,然後單擊「下一步」。
在「配置文件」對話框中,選擇在您想要連接到資料庫引擎時描述計算機連接環境的任何配置文件,然後單擊「下一步」。
在「名稱」對話框中,輸入此規則的名稱和說明,再單擊「完成」。
在使用動態埠時打開對 SQL Server 的訪問
在「開始」菜單上,單擊「運行」,鍵入 WF.msc,然後單擊「確定」。
在「高級安全 Windows 防火牆」的左窗格中,右鍵單擊「入站規則」,然後在操作窗格中單擊「新建規則」。
在「規則類型」對話框中,選擇「程序」,然後單擊「下一步」。
在「程序」對話框中,選擇「此程序路徑」。單擊「瀏覽」,導航到要通過防火牆訪問的 SQL Server 實例,再單擊「打開」。默認情況下,SQL Server 位於 C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe。單擊「下一步」。
在「操作」對話框中,選擇「允許連接」,然後單擊「下一步」。
在「配置文件」對話框中,選擇在您想要連接到資料庫引擎時描述計算機連接環境的任何配置文件,然後單擊「下一步」。
在「名稱」對話框中,輸入此規則的名稱和說明,再單擊「完成」。
網路查詢解決方案:
Step 1: 在伺服器圖標上單擊右鍵,選擇property,然後選connection,把allow remote connection選上,這一步的目的是讓資料庫允許遠程連接。
Step 2: 在資料庫伺服器圖標上,展開目錄,找到Security下的Logins子目錄樹,設置SA賬戶的屬性,改password,在status欄里,login選上enable。這一步的目的是,允許遠程客戶端使用sa用戶鄧肯,sa是system administrator的縮寫,擁有資料庫最高管理許可權,默認狀態下是禁用的。
Step3:在資料庫伺服器圖標上右鍵,打開Facets選項把RemoteDacEnabled的value改成true。這一步的目的是允許建立遠程專用管理員連接,此種連接擁有最高許可權,即使無法建立標准連接,也可以建立DAC連接。
Step4:開啟服務,打開SQL Server Configuration Tool,打開網路配置,選擇TCP/IP協議,點開屬性,IP地址填資料庫所在伺服器的IP地址,如果是本地伺服器,填127.0.0.1。
4. 怎樣建立一個簡單資料庫
具體步驟如下:
1、首先打開我們的access程序,打開方法是單擊開始——所有程序。
5. 如何用MySQL建立資料庫
1、首先在電腦端安裝MySQL,然後進行信息配置操作。打開該軟體,如圖所示。
6. 如何將兩個資料庫建立連接
第一步:客戶端查找相關的Hosts文件。
客戶端一開始也不知道主機名對應的IP地址是多少。故需要把這個主機名解析成對應的IP地址,如此的話,客戶端才能夠連接到伺服器上。要解析這個主機名的話,可以通過Host文件或者DNS伺服器來完成。
通常情況下,客戶端是先去查詢本機上的Host文件,看看有沒有對應的紀錄。
如果沒有的話,則去尋找網路中存在的DNS伺服器要求解析。
第二步:客戶端聯系伺服器。
當客戶端獲得伺服器的IP地址後,就會跟伺服器進行聯系。
客戶端會把用戶名與密碼發送給伺服器。注意此時客戶端不會把服務名稱告訴給伺服器。因為默認情況下,伺服器上只會安裝一個應用服務。故客戶端只要把用戶名與密碼告訴給伺服器,資料庫伺服器就會允許用戶連接唯一的一個應用服務。
故如果要用戶連接同一台主機上的不同Oracle資料庫服務,則需要資料庫能夠識別客戶端到底需要連接哪個應用服務,也就是說,需要客戶端能夠把應用服務的名稱也傳遞給伺服器。
7. Java資料庫連接的建立連接
Connection 對象代表與資料庫的連接。連接過程包括所執行的 SQL 語句和在該連接上所返回的結果。一個應用程序可與單個資料庫有一個或多個連接,或者可與許多資料庫有連接。
⒈ 打開連接
與資料庫建立連接的標准方法是調用DriverManager.getConnection方法。該方法接受含有某個URL的字元串。DriverManager類(即所謂的JDBC管理層)將嘗試找到可與那個URL所代表的資料庫進行連接的驅動程序。DriverManager類存有已注冊的Driver類的清單。當調用方法getConnection時,它將檢查清單中的每個驅動程序,直到找到可與URL中指定的資料庫進行連接的驅動程序為止。Driver的方法connect使用這個URL來建立實際的連接。
用戶可繞過JDBC管理層直接調用Driver方法。這在以下特殊情況下將很有用:當兩個驅動器可同時連接到資料庫中,而用戶需要明確地選用其中特定的驅動器。但一般情況下,讓DriverManager類處理打開連接這種事將更為簡單。
下述代碼顯示如何打開一個與位於URL"jdbc:odbc:wombat"的資料庫的連接。所用的用戶標識符為"freely",口令為"ec":
String url = "jdbc:odbc:wombat";
Connection con = DriverManager.getConnection(url, "freely", "ec");
⒉ 一般用法的URL
由於URL常引起混淆,我們將先對一般URL作簡單說明,然後再討論JDBCURL。URL(統一資源定位符)提供在Internet上定位資源所需的信息。可將它想像為一個地址。URL的第一部份指定了訪問信息所用的協議,後面總是跟著冒號。常用的協議有"ftp"(代表"文件傳輸協議")和"http"(代表"超文本傳輸協議")。如果協議是"file",表示資源是在某個本地文件系統上而非在Internet上(下例用於表示我們所描述的部分;它並非URL的組成部分)。
URL的其餘部份(冒號後面的)給出了數據資源所處位置的有關信息。如果協議是file,則URL的其餘部份是文件的路徑。對於ftp和http協議,URL的其餘部份標識了主機並可選地給出某個更詳盡的地址路徑。例如,以下是JavaSoft主頁的URL。該URL只標識了主機:從該主頁開始瀏覽,就可以進到許多其它的網頁中,其中之一就是JDBC主頁。
⒊ JDBC URL
JDBC URL提供了一種標識資料庫的方法,可以使相應的驅動程序能識別該資料庫並與之建立連接。實際上,驅動程序編程員將決定用什麼JDBC URL來標識特定的驅動程序。用戶不必關心如何來形成JDBC URL;他們只須使用與所用的驅動程序一起提供的URL即可。JDBC的作用是提供某些約定,驅動程序編程員在構造他們的JDBC URL時應該遵循這些約定。
由於JDBC URL要與各種不同的驅動程序一起使用,因此這些約定應非常靈活。首先,它們應允許不同的驅動程序使用不同的方案來命名資料庫。例如,odbc子協議允許(但並不是要求)URL含有屬性值。
其次,JDBC URL應允許驅動程序編程員將一切所需的信息編入其中。這樣就可以讓要與給定資料庫對話的applet打開資料庫連接,而無須要求用戶去做任何系統管理工作。
最後,JDBC URL應允許某種程度的間接性。也就是說,JDBC URL可指向邏輯主機或資料庫名,而這種邏輯主機或資料庫名將由網路命名系統動態地轉換為實際的名稱。這可以使系統管理員不必將特定主機聲明為JDBC名稱的一部份。網路命名服務(例如DNS、NIS和DCE)有多種,而對於使用哪種命名服務並無限制。
JDBC URL的標准語法如下所示。它由三部分組成,各部分間用冒號分隔:
jdbc:<;協議:子協議:子名稱> JDBC URL的三個部分可分解如下:
⑴jdbc協議:JDBC URL中的協議總是jdbc。
⑵<;子協議>;:驅動程序名或資料庫連接機制(這種機制可由一個或多個驅動程序支持)的名稱。子協議名的典型示例是"odbc",該名稱是為用於指定ODBC風格的數據資源名稱的URL專門保留的。例如,為了通過JDBC-ODBC橋來訪問某個資料庫,可以用如下所示的URL:jdbc:odbc:book。本例中,子協議為"odbc",子名稱"book"是本地ODBC數據資源。如果要用網路命名服務(這樣JDBC URL中的資料庫名稱不必是實際名稱),則命名服務可以作為子協議。例如,可用如下所示的URL:jdbc:dcenaming:accounts。本例中,該URL指定了本地DCE命名服務應該將資料庫名稱"accounts"解析為更為具體的可用於連接真實資料庫的名稱。
⑶<;子名稱>;:種標識資料庫的方法。子名稱可以依不同的子協議而變化。它還可以有子名稱的子名稱(含有驅動程序編程員所選的任何內部語法)。使用子名稱的目的是為定位資料庫提供足夠的信息。前例中,因為ODBC將提供其餘部份的信息,因此用"book"就已足夠。然而,位於遠程伺服器上的資料庫需要更多的信息。例如,如果資料庫是通過Internet來訪問的,則在JDBC URL中應將網路地址作為子名稱的一部份包括進去,且必須遵循如下所示的標准URL命名約定://主機名:埠/子協議。
假設"dbnet"是個用於將某個主機連接到Internet上的協議,則JDBC URL應為:jdbc:dbnet://wombat:356/fred。
⒋ "odbc"子協議
子協議odbc是一種特殊情況。它是為用於指定ODBC風格的數據資源名稱的URL而保留的,並具有下列特性:允許在子名稱(數據資源名稱)後面指定任意多個屬性值。odbc子協議的完整語法為:
jdbc:odbc:<;數據資源名稱>;【;<;屬性名>=<;屬性值>;】,因此,以下都是合法的jdbc:odbc名稱:
jdbc:odbc:qeor7
jdbc:odbc:wombat
jdbc:odbc:wombat;CacheSize=20;ExtensionCase=LOWER
jdbc:odbc:qeora;UID=kgh;PWD=fooey
⒌ 注??稱以將之用作JDBC URL的子協議名。當DriverManager類將此名稱加到已注冊的驅動程序清單中時,為之保留該名稱的驅動程序應能識別該名稱並與它所標識的資料庫建立連接。例如,odbc是為JDBC-ODBC橋而保留的。假設有個Miracle公司,它可能會將"miracle"注冊為連接到其Miracle DBMS上的JDBC驅動程序的子協議,從而使其他人都無法使用這個名稱。
JavaSoft作為非正式代理負責注冊JDBC子協議名稱。
⒍ 發送SQL語句
連接一旦建立,就可用來向它所涉及的資料庫傳送SQL語句。JDBC對可被發送的SQL語句類型不加任何限制。這就提供了很大的靈活性,即允許使用特定的資料庫語句或甚至於非SQL語句。然而,它要求用戶自己負責確保所涉及的資料庫可以處理所發送的SQL語句,否則將自食其果。例如,如果某個應用程序試圖向不支持儲存程序的DBMS發送儲存程序調用,就會失敗並將拋出異常。JDBC要求驅動程序應至少能提供ANSI SQL-2 Entry Level功能才可算是符合JDBC標准TM的。這意味著用戶至少可信賴這一標准級別的功能。
JDBC提供了三個類,用於向資料庫發送SQL語句。Connection介面中的三個方法可用於創建這些類的實例。下面列出這些類及其創建方法:
⑴Statement:由方法createStatement所創建。Statement對象用於發送簡單的SQL語句。
⑵PreparedStatement:由方法prepareStatement所創建。PreparedStatement對象用於發送帶有一個或多個輸入參數(IN參數)的SQL語句。PreparedStatement擁有一組方法,用於設置IN參數的值。執行語句時,這些IN參數將被送到資料庫中。PreparedStatement的實例擴展了Statement,因此它們都包括了Statement的方法。PreparedStatement對象有可能比Statement對象的效率更高,因為它已被預編譯過並存放在那以供將來使用。
⑶CallableStatement:由方法prepareCall所創建。CallableStatement對象用於執行SQL儲存程序─一組可通過名稱來調用(就象函數的調用那樣)的SQL語句。CallableStatement對象從PreparedStatement中繼承了用於處理IN參數的方法,而且還增加了用於處理OUT參數和INOUT參數的方法。
不過通常來說createStatement方法用於簡單的SQL語句(不帶參數)、prepareStatement方法用於帶一個或多個IN參數的SQL語句或經常被執行的簡單SQL語句,而prepareCall方法用於調用已儲存過程。
⒎ 事務
事務由一個或多個這樣的語句組成:這些語句已被執行、完成並被提交或還原。當調用方法commit或rollback時,當前事務即告就結束,另一個事務隨即開始。預設情況下,新連接將處於自動提交模式。也就是說,當執行完語句後,將自動對那個語句調用commit方法。這種情況下,由於每個語句都是被單獨提交的,因此一個事務只由一個語句組成。如果禁用自動提交模式,事務將要等到commit或rollback方法被顯式調用時才結束,因此它將包括上一次調用commit或rollback方法以來所有執行過的語句。對於第二種情況,事務中的所有語句將作為組來提交或還原。
方法commit使SQL語句對資料庫所做的任何更改成為永久性的,它還將釋放事務持有的全部鎖。而方法rollback將棄去那些更改。有時用戶在另一個更改生效前不想讓此更改生效。這可通過禁用自動提交並將兩個更新組合在一個事務中來達到。如果兩個更新都是成功,則調用commit方法,從而使兩個更新結果成為永久性的;如果其中之一或兩個更新都失敗了,則調用rollback方法,以將值恢復為進行更新之前的值。
大多數JDBC驅動程序都支持事務。事實上,符合JDBC的驅動程序必須支持事務。DatabaseMetaData給出的信息描述DBMS所提供的事務支持水平。
⒏ 事務隔離級別
如果DBMS支持事務處理,它必須有某種途徑來管理兩個事務同時對一個資料庫進行操作時可能發生的沖突。用戶可指定事務隔離級別,以指明DBMS應該花多大精力來解決潛在沖突。例如,當事務更改了某個值而第二個事務卻在該更改被提交或還原前讀取該值時該怎麼辦。
假設第一個事務被還原後,第二個事務所讀取的更改值將是無效的,那麼是否可允許這種沖突?JDBC用戶可用以下代碼來指示DBMS允許在值被提交前讀取該值("dirty讀取"),其中con是當前連接:
con.setTransactionIsolation(TRANSACTION_READ_UNCOMMITTED);
事務隔離級別越高,為避免沖突所花的精力也就越多。Connection介面定義了五級,其中最低級別指定了根本就不支持事務,而最高級別則指定當事務在對某個資料庫進行操作時,任何其它事務不得對那個事務正在讀取的數據進行任何更改。通常,隔離級別越高,應用程序執行的速度也就越慢(由於用於鎖定的資源耗費增加了,而用戶間的並發操作減少了)。在決定採用什麼隔離級別時,開發人員必須在性能需求和數據一致性需求之間進行權衡。當然,實際所能支持的級別取決於所涉及的DBMS的功能。
當創建Connection對象時,其事務隔離級別取決於驅動程序,但通常是所涉及的資料庫的預設值。用戶可通過調用setIsolationLevel方法來更改事務隔離級別。新的級別將在該連接過程的剩餘時間內生效。要想只改變一個事務的事務隔離級別,必須在該事務開始前進行設置,並在該事務結束後進行復位。我們不提倡在事務的中途對事務隔離級別進行更改,因為這將立即觸發commit方法的調用,使在此之前所作的任何更改變成永久性的。
8. 在jdbc中,負責建立與指定資料庫連接的方法是
錦城絲管日紛紛,半入江風半入雲.