當前位置:首頁 » 網路資訊 » 怎樣訪問資料庫
擴展閱讀
哪個應用可以給游戲貸款 2024-11-17 21:41:31
什麼app可以手機連接wifi 2024-11-17 21:28:35

怎樣訪問資料庫

發布時間: 2022-02-04 06:59:35

A. 網路怎麼連接資料庫

VB訪問SQL Server資料庫技術全揭密(1)

本文討論了Visual Basic應用程序訪問SQL Server資料庫的幾種常用的方法,分別說明了每種方法的內部機理並給出了每種方法的一個簡單的實例,最後比較了每種方法性能和優缺點。

一、引言

SQL Server是微軟推出的中小型網路資料庫系統,是目前最常用的資料庫系統之一。隨著SQL Server網路資料庫應用程序日益增多,這種Web資料庫應用系統的正常運行一般依賴於已存在的用戶資料庫。創建維護資料庫的工作可用SQL Server提供的SQL Enterprise Manager工具來進行,如能提供一種定製的資料庫管理工具,通過管理應用程序來管理資料庫及其設備,對用戶來說無疑是最理想的。

Visual Basic作為一種面向對象的可視化編程工具,具有簡單易學,靈活方便和易於擴充的特點。而且Microsoft為其提供了與SQL Server通信的API函數集及工具集,因此它越來越多地用作大型公司數據和客戶機—伺服器應用程序的前端,與後端的Microsoft SQL Server相結合,VB能夠提供一個高性能的客戶機—伺服器方案。

二、VB訪問SQL Server數據的常用方法

使用Visual Basic作為前端開發語言,與SQL Server介面有幾種常用的方法,即:

①數據訪問對象/Jet

②為ODBC API編程

③使用SQL Server的Visual Basic庫(VBSQL)為DB庫的API編程

④RDO 遠程數據對象(RemoteData Objects)

⑤ADO 數據對象(Active Data Objects)

1、數據訪問對象/Jet

VB支持Data Access Objects(DAOs)的子集。DAO的方法雖然不是性能最好的管理客戶機—伺服器之間的對話方式,但它的確有許多優點。DAO/Jet是為了實現從VB訪問Access資料庫而開發的程序介面對象。使用DAOs訪問SQL Server的過程如下:應用程序准備好語句並送至Jet,Jet引擎(MASJT200.DLL)優化查詢,載入驅動程序管理器並與之通訊,驅動程序管理器(ODBC.DLL)通過調用驅動器(SQLSRVR.DLL)的函數,實現連接到數據源,翻譯並向SQL Server提交SQL語句且返回結果。下面是一個用DAOs訪問SQL Server的VB實例。

注釋:Form Declarations

Dim mydb As Database

Dim mydynaset As Dynaset オ

Private Sub Form_Load()

Set mydb = OpenDatabase("", False, False, "ODBC; DSN=Myserver; WSID=LCL; DATABASE = sales")

Set mydynaset = mydb CreateDynaset("Select*from Customers") オ

End Sub ァ

上述例子是以非獨占、非只讀方式打開sales資料庫,並檢索Customers表中的所有欄位。OpenDatabase函數的最後一個參數是ODBC連接字元串參數,它指明了Microsoft Access連接到SQL Server所需要知道的一些內容。其中「DSN」為數據源名,「WSID」為工作站名,「DATABASE」為所要訪問的資料庫名。

2、利用ODBC API編程

ODBC(Open Database Connectivity)的思想是訪問異種資料庫的一種可移植的方式。與數據資源對話的公用函數組裝在一個稱為驅動程序管理器(ODBC.DLL)的動態連接中。應用程序調用驅動程序管理器中的函數,而驅動程序管理器反過來通過驅動器(SQLSRVR.DLL)把它們送到伺服器中。

下面的代碼使用上面一些函數先登錄到一個伺服器資料庫,並為隨後的工作設置了語句句柄。

Global giHEnv As Long

Global giHDB As Long

Global giHStmt As Long

Dim myResult As integer

Dim myConnection As Srting

Dim myBuff As String*256

Dim myBufflen As Integer

If SQLAllocEnv(giHEnv)<>SQL_SUCCESS Then

MsgBox"Allocation couldn注釋:t happen!"

End If

If SQLAllocConnect(giHEnv,giHDB)<>SQL_SUCCESS Then

MsgBox "SQL Server couldn注釋:t connect!"

End If

myConnection="DSN=myServer;UID=LCL;PWD=;APP=ODBCTest;WSID=LCL;DATABASE=sales"

myResult=SQLDriverConnect(giHDB,Test,form1.hWnd,myConnection.len(myConnection),myBuff,256,myBufflen,SQL_DRIVER_COMPLETE_REQUIED)

myResult=SQLAllocStmt(giHDS,giHStmt)

myResult=SQLFreeStmt(giHStmt,SQL_COLSE)

rsSQL="Select * from Customers Where City = "Hunan""

myResult = SQLExecDirect(giHStmt,rsSQL,Len(rsSQL))

3、使用VBSQL對DB庫API編程

DB庫是SQL Server的本地API,SQL Server的Visual Basic庫(VBSQL)為Visual Basic程序員提供API。從一定意義上說,VBSQL是連接Visual Basic程序到SQL Server的性能最好最直接的方式。VBSQL包含以下三個文件:

VBSQL.VBX: 包含庫函數,具有訪問重要的消息和處理錯誤的能力

VBSQL.BI:包括所有的常量和變數說明

VBSQL.HLP:Windows幫助文件,使用VBSQL的指南

使用VBSQL時,必須將VBSQL.BI加入到Visual Basic工程文件中,並確保VB程序運行時有VBSQL.VBX文件。

一般的DB庫API編程的過程是這樣的:先通過調用SqlInit對DB庫進行初始化,再調用SqlConnection打開一個連接,然後就可做一些工作。下面的代碼是一個初始化DB庫並登錄到伺服器的通用常式

B. 資料庫怎麼連接

import java.sql.*;
public class JDBCTest {
public static void main(String[] args){
// 驅動程序名 String driver = "com.mysql.jdbc.Driver";
// URL指向要訪問的資料庫名scutcs String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置時的用戶名 String user = "root"; // MySQL配置時的密碼 String password = "root";
try { // 載入驅動程序 Class.forName(driver);
// 連續資料庫 Connection conn = DriverManager.getConnection(url, user, password);
這是Java 鏈接MYSQL資料庫的

C. 如何讓外網訪問資料庫

並且須提供遠程訪問和1433口打開.
參考2005的.Sql Server 2005的1433埠打開和進行遠程連接

如何打開sql server 2005 的1433埠

配置工具->Sql Server Configuration Manager->MSSQLSERVER的協議

看看TCP/IP協議是否啟動,如果啟動,右鍵菜單點"屬性" ,在分頁菜單中選"IP地址",把"IP1"和"IP2"中"TCP埠"為1433,

"已啟用"改為"是"

配置工具->Sql Server Configuration Manager->SQL Native Client 配置->客戶端協議->TCP/IP

選擇TCP/IP右鍵菜單中"屬性",確認"默認埠"是1433,"已啟用"為"是"

SQL Server 2005 遠程連接

配置TCP/IP屬性.
Surface Area Configuration --> Database Engine --> Remote Connections --->Using TCP/IT

SQL Server 外圍應用配置器—服務和連接外圍配置—database englie—遠程連接—啟用(遠程連接的TCP/IP和named pipes)
SQL Server Configuration Manager—SQL2005網路配置—啟用TCP/IP和named pipes

-----------------------------------------------------------------------------------------
一般按如上即可.

其他說明見下:

sqlserver2005(Express版),為了便於管理,你還需要去下一個manage管理器,微軟的官方網站有
下,安裝好manage管理器後,在程序中連接sqlserver2005,下面幾點是要注意的。
1. 開啟sql2005遠程連接功能,開啟辦法如下,

配置工具->sql
server外圍應用配置器->服務和連接的外圍應用配置器->打開MSSQLSERVER節點下的Database Engine
節點,先擇"遠程連接",接下建議選擇"同時使用TCP/IP和named pipes",確定後,重啟資料庫服務就可以了.
2.登陸設置改為,Sql server and windows Authentication方式同時選中,具體設置如下:

manage管理器->windows
Authentication(第一次用windows方式進去),->對象資源管理器中選擇你的數據伺服器--右鍵>屬
性>security>Sql server and windows Authentication方式同時選中.
3:設置一個Sql server方式的用戶名和密碼,具體設置如下:
manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa'
這樣就設置了一個用戶名為sa ,密碼為:sa123456的用戶,下次在登陸時,可以用Sql server方式,
用戶名為sa ,密碼為:sa123456的用戶進資料庫了.
4: 做完上面三步後,這樣寫連接字元串就可以順利進入資料庫了,
(server=.\\sqlexpress;uid=sa;pwd=sa123456;database=master";

其它版本,做如下設置

程序—Microsoft SQL Server 2005—配置工具—SQL Server 外圍應用配置器—服務和連接的外圍應用配置器—
1、MSSQLserver(實例名)—DataBase Engine—遠程連接—(設置選項)
在下方選項
2、SQL Server Browser—服務(停止時只本機訪問)
3、程序—Microsoft SQL Server 2005—配置工具—SQL Server Configuration Manager—網路連接協議-選擇實例對應協議—啟用(shard memory、Named Pipes、TCP\IP)
注: SQL Server 瀏覽器程序以服務的形式在伺服器上運行。SQL Server 瀏覽器偵聽對 Microsoft SQL Server 資源的傳入請求,
並提供計算機上安裝的 SQL Server 實例的相關信息。
SQL Server 瀏覽器可用於執行下列三種操作:
瀏覽可用伺服器
連接到正確的伺服器實例
連接到專用管理員連接 (DAC) 端點
SQL Server Browser 服務 (sqlbrowser) 為資料庫引擎 和 SSAS 的每個實例提供實例名稱和版本號。
SQL Server 瀏覽器隨 Microsoft SQL Server 2005 一起安裝,
為該計算機上運行的早期版本的 SQL Server(從 Microsoft SQL Server 7.0 開始)提供此服務。

D. 請問Sql如何連接資料庫

ASP的鏈接方式
<%
'連接資料庫
on error resume next
'connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("資料庫路徑") '連接ACESS
connstr="Provider = Sqloledb; User ID =用戶名; Password =密碼; Initial Catalog = 資料庫名稱; Data Source = 資料庫地址 ;" '連接MSSQL
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
If Err Then
response.Write "連接資料庫出錯!"
err.Clear
Set conn = Nothing
Response.End
End If
%>
.net的連接方式
直接在web.config里修改

E. 如何直接訪問網站的資料庫

樓上的這種問題我也遇到過,往往是設計網站界面視圖的人沒有考慮到所有的需求,提供的資料庫查詢不夠靈活。

確實有可能找到辦法去訪問這個資料庫,不過應該提醒樓主,網站做界面的目的出了美觀方便外,就是要限制用戶不訪問,所以通過非正常途徑訪問就要承擔一定的責任了。

具體方法有:

1.理想方法:得到資料庫的地址,例如樓上說的把mdb文件直接下載下來。當然很少有網站用access做資料庫的,一般情況是需要知道資料庫IP地址,資料庫類型,庫名,用戶名和密碼,然後通過toad等客戶端軟體來訪問。
既然是理想方法,這種情況不太可能發生,除非你是內部人士,可以知道很多信息。因為通常資料庫伺服器會放在區域網上,不能被外部訪問到。

2.實際方法:採用SQL注入等黑客技術。SQL注入是最簡單的黑客技術了,不過由於簡單威力也不會很大,要求網站設計對於安全的考慮不周,存在漏洞才行。
由於網站設計不周,就會在出錯或者某些情況下暴露出資料庫表結構的一些內幕,這樣就可以寫出你想要的SQL命令,把它插入到Web表單遞交,或者頁面請求的查詢字元串中,最終達到欺騙伺服器執行的目的。

如果樓主想了解更多,可以學學黑客知識,祝樓主好運!

F. 如何用sql server 訪問資料庫

用sql server 訪問資料庫整理如下:

SQL Server默認是不允許遠程連接的,如果想要在本地用SSMS連接遠程伺服器上的SQLServer2012資料庫,需要確認以下環節:

1)如果是工作組環境,則需要使用SQL Server身份驗證方式

2)如果是Windows域環境,則可使用Windows身份驗證或者SQL Server身份驗證

現在以工作組環境下SQL Server身份驗證方式為例:

1)啟用SQLServer身份驗證模式進行登錄。

G. 如何連接資料庫

  1. 如果您是ACCESS資料庫。這是最簡單的一種資料庫,它通常都是隨著資料庫源碼可以放在一起的,只需要知道FTP地址、賬戶與密碼就可以連接。利用FTP上傳工具上傳即可。上傳工具小編在下方資料參考處提供軟體下載鏈接。

    H. 資料庫怎麼連接

    首先本地要有一個資料庫軟體1、遠程公網的IP地址2、資料庫名3、用戶名4、密碼在你的本地資料庫搜索加入組。就可以在本地直連接到遠程資料庫了!或者空間商會提供你資料庫的IP你可以在本地備份好資料庫用FTP上傳軟體上傳到空間商的網頁管理器還原資料庫,就可以了!

    I. 訪問資料庫的方式有哪些啊

    在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格式的文檔響應

    J. 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() ;
    }
    }