資料庫的訪問
❶ 一個項目訪問兩個資料庫和訪問一個資料庫的差別, 訪問性能上有什麼差別
我們做項目經常訪問多個資料庫,管理庫單獨的,還有一些業務資料庫。訪問多個資料庫其實根本沒什麼性能上的差異,看你怎麼配置的。池,緩存等等。還有你的程序是怎麼連接處理數據的。所以說訪問一個或者多個資料庫在性能上都不是問題。
❷ 資料庫的訪問許可權都有什麼
怎樣允許他人查看或執行查詢,但不能更改數據或查詢設計?
答:在安全工作組里,可以指定他人查看查詢返回數據的許可權。如果是操作查詢,還可以允許他們執行查詢,即使限制他們不得查看查詢的基表或基礎查詢。
1、在「設計」視圖中打開查詢。
2、在查詢「設計」視圖中單擊設計網格與欄位列表外的任何地方,以選定查詢。
3、單擊工具欄上的「屬性」按鈕 ,以顯示查詢的屬性表。
4、將「執行許可權」屬性設置為「所有者的」。
設置了此屬性後,應出現以下情形:
所有用戶都具有查詢所有者的查看或執行查詢許可權。
只有查詢所有者才能保存更改過的查詢。
只有查詢所有者才能更改查詢的所有權。
注釋 也可以設置所有新查詢的默認許可權。請在「工具」菜單上單擊「選項」,再單擊「表/查詢」選項卡,然後單擊想要使用的「執行許可權」選項。
問:怎樣定義用戶級安全?
答:
1、加入一個安全工作組或新建一個工作組信息文件。
要點 要完全確保資料庫的安全,請不要使用安裝 Microsoft Access
時創建的工作組信息文件所定義的默認工作組。而應該確保定義所加入的工作組的工作組信息文件是使用唯一的工作組 ID (WID) 創建的,否則應該創建一個新的工作組。
2、激活「登錄」對話框。
操作方法:啟動 Microsoft Access ,打開資料庫,
單擊「工具」菜單「安全」子菜單中的「用戶與組帳號」命令,單擊「用戶」選項卡,確保在「名稱」框中預定義的「管理員」用戶帳號呈高亮度顯示,單擊「更改登錄密碼」選項卡,單擊「新密碼」框,然後鍵入新密碼。不要在「舊密碼」框中輸入任何內容,
在「驗證」框中再次鍵入密碼進行確認,然後單擊「確定」按鈕。退出ACCESS並重新啟動ACCESS,就會出現「登錄」對話框。
3、創建管理員的用戶帳號。
操作方法:
1)打開工作組管理器,按下「聯接。。。」按鈕,選擇 使用在第1 步驟中創建的安全工作組信息文件,退出管理器,啟動 Microsoft Access。
要點 如果要確保資料庫是完全安全的,請不要使用安裝 Microsoft Access
時創建的工作組信息文件中定義的默認工作組,並確保定義所用工作組的工作組信息文件是以唯一的工作組 ID (WID) 創建的,否則就應該重新創建一個工作組信息文件。
2)選擇「工具」菜單「安全」子菜單中的「用戶與組帳號」命令,單擊「用戶」選項卡上的「新建」按鈕, 在「新用戶/組」對話框中,鍵入管理員帳號名稱和個人 ID
(PID),然後單擊「確定」按鈕新建帳號。
警告 一定要記住正確的帳號名和 PID,包括字母的大小寫,並其將其放在安全的地方。如果要重新創建帳號,必須提供其名稱和 PID。遺忘或丟失了帳號名和 PID
將無法恢復。
3)在「可用的組」框中,單擊「管理員組」,然後單擊「添加」按鈕。Microsoft Access
將把新的管理員帳號添加到管理員組並在「隸屬於」框中顯示「管理員組」。
4)單擊「確定」按鈕新建管理員帳號。
4、退出 Microsoft Access 並以新建的管理員身份登錄。
5、刪除管理員組中的管理員帳號。
操作方法:選擇「工具」菜單「安全」子菜單中的「用戶與組帳號」命令,在「用戶」選項卡上的「名稱」框中輸入要移去的用戶。在「隸屬於」框中,選擇要「管理員組」的組,然後單擊「刪除」按鈕。
6、打開要設置安全的資料庫。
7、單擊「工具」菜單「安全」子菜單中的「用戶級安全性向導」命令。
8、根據向導對話框中的指示完成各個步驟。 ]
「用戶級安全性向導」將創建一個新的資料庫,並將原有資料庫中所有對象的副本導出到新的資料庫中,然後通過取消用戶組對新資料庫對象的所有許可權,為向導第一個對話框中的選定對象類型設置安全,然後加密新資料庫。原有資料庫沒有進行任何更改。表之間的關系和所有的鏈接表在新的資料庫中都將重建。
現在,只有在步驟 1
中加入的工作組管理員組成員可以訪問新資料庫中設置了安全的對象。「用戶」組則不具備對這些對象的許可權。要限制用戶和/或組對這些對象的訪問必須為其設置許可權。
另外,你可以定義不同的試圖,這樣就給不同的人,不同的信息表示了
❸ 資料庫並發訪問是什麼意思是同時用資料庫的人數么
資料庫並發訪問是指:可能會發生兩個用戶同時對一張表的同一條數據進行修改等操作,這是可能發生的情況。 和資料庫連接人數是兩個概念。前者是對數據操作的一種可能,後者是和版權相關。
❹ 如何直接訪問網站的資料庫
樓上的這種問題我也遇到過,往往是設計網站界面視圖的人沒有考慮到所有的需求,提供的資料庫查詢不夠靈活。
確實有可能找到辦法去訪問這個資料庫,不過應該提醒樓主,網站做界面的目的出了美觀方便外,就是要限制用戶不訪問,所以通過非正常途徑訪問就要承擔一定的責任了。
具體方法有:
1.理想方法:得到資料庫的地址,例如樓上說的把mdb文件直接下載下來。當然很少有網站用access做資料庫的,一般情況是需要知道資料庫IP地址,資料庫類型,庫名,用戶名和密碼,然後通過toad等客戶端軟體來訪問。
既然是理想方法,這種情況不太可能發生,除非你是內部人士,可以知道很多信息。因為通常資料庫伺服器會放在區域網上,不能被外部訪問到。
2.實際方法:採用sql注入等黑客技術。SQL注入是最簡單的黑客技術了,不過由於簡單威力也不會很大,要求網站設計對於安全的考慮不周,存在漏洞才行。
由於網站設計不周,就會在出錯或者某些情況下暴露出資料庫表結構的一些內幕,這樣就可以寫出你想要的SQL命令,把它插入到Web表單遞交,或者頁面請求的查詢字元串中,最終達到欺騙伺服器執行的目的。
如果樓主想了解更多,可以學學黑客知識,祝樓主好運!
❺ java 如何進行資料庫訪問的
1. 載入一個對應資料庫的JDBC驅動
在建立到一個資料庫的連接之前,必須先載入這個資料庫的JDBC驅動程序,載入之後此driver會自動注冊到JDBC驅動列表中。載入一個JDBC驅動有兩種方法。
a) 在命令行方式下指定驅動器或者用冒號分割驅動器列表:
具體命令如下:
C:\>java –Djdbc.drivers = com.company1.Driver:com.company2.Driver youProject
b)第二種方法,在程序中調用Class.forName()方法。推薦使用。。。。
try
{
String driverName = 「com.imaginary.sql.msql.MsqlDriver」;
Class.forName(driverName).newInstance();
}
Catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
2.連接到資料庫。
根據您後台待連接的資料庫不同,而有小小的差別。
a) 連接到Oracle資料庫。
Connection connection = null ;
try
{
//load the jdbc driver ;
String driverName = 「oracle.jdbc.driver.OracleDriver」;
Class.forName(driverName).newInstance();
//create a connection to the database;
String serverName = 「127.0.0.1」;
String serverPort = 「1521」;
String serverID = 「datebase1」
String userName = 「hello」;
String userPsw = 「world」;
String url = 「jdbc:oracle.thin:@」 + serverName + 「:」 + serverPort + 「:」 + serverID ;
Connection = DriverManager.getConnection(url , userName , userPsw);
}
catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
catch(SQLException e2)
{
//catch could not connect to the database exception.
}
b) 連接到一個SQL Server資料庫。
Connection connection = null ;
try
{
//load the jdbc driver ;
String driverName = 「com.microsoft.jdbc.sqlserver.SQLServerDriver」;
Class.forName(driverName).newInstance();
//create a connection to the database;
String serverName = 「127.0.0.1」;
String serverPort = 「1433」;
String serverID = serverName + serverPort ;
String userName = 「hello」;
String userPsw = 「world」;
String url = 「jdbc:JSQLConnect ://」 + serverID ;
Connection = DriverManager.getConnection(url , userName , userPsw);
}
catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
catch(SQLException e2)
{
//catch could not connect to the database exception.
}
c) 連接到一個MySQL資料庫上。。。。
Connection connection = null ;
try
{
//load the jdbc driver ;
String driverName = 「org.gjt.mm.mysql.Driver」;
Class.forName(driverName).newInstance();
//create a connection to the database;
String serverName = 「127.0.0.1」;
String serverID = 「database」;
String userName = 「hello」;
String userPsw = 「world」;
String url = 「jdbc:mysql ://」 + serverName + 「/」 + serverID ;
Connection = DriverManager.getConnection(url , userName , userPsw);
}
catch(ClassNotFoundException e1)
{
//catch could not find database driver exception.
}
catch(SQLException e2)
{
//catch could not connect to the database exception.
}
綜合上面的三種資料庫連接方式 , 其實大同小異。由於訪問不同的資料庫和所使用的資料庫驅動程序不同,所以導致代碼表面上有小小不同,但透過表面看來,內部都是
1. 載入一個特定的資料庫JDBC驅動。
2. 連接到一個資料庫。
3. 之後,就可以對一個特定的資料庫進行特定的操作了。
❻ 訪問資料庫的方式有哪些啊
在ASP中可以通過三種方式訪問資料庫:
1、IDC(Internet Database Connector)方式;
2、ADO(ActiveX Data Objects)方式;
3、RDS(Remote Data Service)方式。
這三種訪問方式對資料庫的訪問都是由Internet Information Server完成的。通過Web瀏覽器用HTTP協議向IIS(Internet信息伺服器)發送請求,IIS執行對資料庫的訪問,並返回一個HTML格式的文檔響應
❼ java如何訪問資料庫
Java可以使用JDBC訪問資料庫,也可以使用各類ORM框架訪問資料庫,但這些框架最終還是通過JDBC訪問資料庫,它們只是封裝了資料庫操作,而使得開發者可以減少這部分消耗。因此,本文只講解JDBC訪問方式。
JDBC訪問一般分為如下流程:
1、載入JDBC驅動程序:
在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),
這通過java.lang.Class類的靜態方法forName(String className)實現。
例如:
try{
//載入MySql的驅動類
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驅動程序類 ,載入驅動失敗!");
e.printStackTrace() ;
}
成功載入後,會將Driver類的實例注冊到DriverManager類中。
2、提供JDBC連接的URL
•連接URL定義了連接資料庫時的協議、子協議、數據源標識。
•書寫形式:協議:子協議:數據源標識
協議:在JDBC中總是以jdbc開始
子協議:是橋連接的驅動程序或是資料庫管理系統名稱。
數據源標識:標記找到資料庫來源的地址與連接埠。
例如:(MySql的連接URL)
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字元集。如果characterEncoding設置為
gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。
3、創建資料庫的連接
•要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,該對象就代表一個資料庫的連接。
•使用DriverManager的getConnectin(String url,String username,String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和密碼來獲得。
例如:
//連接MySql資料庫,用戶名和密碼都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("資料庫連接失敗!");
se.printStackTrace() ;
}
4、創建一個Statement
•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
具體的實現方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt = con.prepareCall("{CALL demoSp(? , ?)}") ;
5、執行SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate和execute
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句,返回一個結果集(ResultSet)對象。
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的語句。
具體實現的代碼:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
6、處理結果
兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
•ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些行中數據的訪問。
•使用結果集(ResultSet)對象的訪問方法獲取數據:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1); // 此方法比較高效(列是從左到右編號的,並且從列1開始)
}
7、關閉JDBC對象
操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲明順序相反:
1、關閉記錄集
2、關閉聲明
3、關閉連接對象
if(rs != null){ // 關閉記錄集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 關閉聲明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 關閉連接對象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
❽ 如何用sql server 訪問資料庫
用sql server 訪問資料庫整理如下:
SQL Server默認是不允許遠程連接的,如果想要在本地用SSMS連接遠程伺服器上的SQLServer2012資料庫,需要確認以下環節:
1)如果是工作組環境,則需要使用SQL Server身份驗證方式
2)如果是Windows域環境,則可使用Windows身份驗證或者SQL Server身份驗證
現在以工作組環境下SQL Server身份驗證方式為例:
1)啟用SQLServer身份驗證模式進行登錄。
❾ 怎麼訪問別人的mysql資料庫
找到MySQL配置文件,搜索「bind-address」,找到這一行:
bind-address = 127.0.0.1 在前面加一個#,注釋掉這一行,保存,重啟MySQL。再通過遠程訪問就可以了,telnet可以發現埠也打開了。
例我們配置
1. 確保skip-networking被刪除或者屏蔽,否則不支持TCP/IP 訪問2. 增加行bind-address = 65.55.55.2,替代65.55.55.2 為你的伺服器地址
修改後,配置為:
[mysqld]user = mysqlpid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockport = 3306basedir = /usrdatadir = /var/lib/mysqltmpdir = /tmplanguage = /usr/share/mysql/Englishbind-address = 65.55.55.2# skip-networking保存並關閉配置文件重啟mysql伺服器:# /etc/init.d/mysql restart
如果上面辦法沒有用我們可以通用mysql命令模式進行設置
1。 改表法。
可能是你的帳號不允許從遠程登陸,只能在localhost。這個時候只要在localhost的那台電腦,登入mysql後,更改 "mysql" 資料庫里的 "user" 表裡的 "host" 項,從"localhost"改稱"%"
CODE:mysql -u root -p123mysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
❿ 資料庫如何訪問
關於如果訪問的問題分3步吧
1.贈送方應該告訴你放置你資料庫的伺服器地址,以及資料庫的用戶名和密碼,不過一般用戶名和密碼是你提供給贈送方,他們幫你設置好的。
2.你本地裝有MYSQL和MSSQL資料庫。
3.對本地資料庫進行訪問遠程資料庫的設置。
最後一步要自己具體操作的。
一般來說資料庫的伺服器和網站的伺服器是分開的,你說的自行建立文件夾當作資料庫我不太明白你到底是什麼意思,如果你用的是access資料庫,就可以方便地在本地建立。