通用資料庫連接
日常數據管理工作中,需要處理存儲在不同類型資料庫系統的數據。對這些數據的管理,常見的是使用Navicat,DBeaver等管理工具。在對大量數據分析時,需要提取到Python/R中進行處理。下面 探索 Python調用Mysql,MongoDB,InfluxDB等多種類型資料庫通用連接方法。實現方式是在Python中封裝各類資料庫介麵包。
實現後的效果:1.安全。介面信息封裝便於保密管理;2.復用。一次封裝,永久復用;3.上手快。方便不熟悉python和數據調用的同學,只會簡單的sql即可使用,省時省力。
下面以MySQL,MongoDB,InfluxDB為例定義介面方法,然後把它們封裝成1個通用方法。
mysql_get(sql,db):
mongo_get(sql,db):
influx_get(sql,db):
可以看到,以上函數共同調用的參數為sql和db。我們再增加一個參數db_type,將構造一個通用的方法對以上資料庫調用。
同理,其他類型的資料庫也可以加入到這個通用框架中,包括但不限於各類關系型,鍵值型,時序型資料庫。
『貳』 怎麼用linux命令連接racle資料庫
可以通過SSH或者SecureCRTPortable等可以直接連接Linux操作系統的軟體,連接到Linux系統。下面具體介紹一下:
1、登錄到Linux後,就可以在命令窗口直接對Linux進行操作了。先將用戶切換到Oracle。當顯示為[oracle@db ~]$ 時,說明切換成功。命令:su - oracle;
2、切換到Oracle用戶之後,我們登錄到到sqlplus,使用dba許可權登錄到sqlplus。在sqlplus中,我們使用conn連接一下我們具體想要操作的資料庫用戶。命令:conn username/password,示connected表示連接成功;
3、在SQL>中輸入想要進行操作的sql語句,這里我們舉個簡單的例子,以一個單表查詢為例進行演示:sql語句:select * from tablename。
(2)通用資料庫連接擴展閱讀:
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。
Linux操作系統誕生於1991 年10 月5 日(這是第一次正式向外公布時間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬體設備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式計算機、大型機和超級計算機。
參考資料:Linux-網路
『叄』 在asp中怎麼連接Access資料庫
asp連接access資料庫的方法:
1、設置資料庫連接方式:
set dbconnection=Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("customer.mdb")
dbconnection.Open "provider=microsoft.jet.oledb.4.0;data source="&dbpath
SQL="select * from auth where id='" & user_id &"'"
SET uplist=dbconnection.EXECUTE(SQL)
2、設置連接資料庫
DBPath = Server.MapPath("customer.mdb")
set session("rs")=Server.CreateObject("ADODB.Recordset")
' rs=Server.CreateObject("ADODB.Recordset")
connstr="provider=microsoft.jet.oledb.4.0;data source="&dbpath
SQL="select * from auth where id='" & user_id &"'"
session("rs").Open sql,connstr,1,3
3、建立odbc數據源
set conn=server.createobject("Adodb.connection")
conn.open "DSN=xxx;UID=;PWD=;Database=customer
4、附上一個經常用的sqlserver與access通用的連接資料庫代碼:
<%
Const DataBaseType=1
If DataBaseType=0 then
DBPath="/jb51/news.asp"
SqlNowString = "Now()"
ystr=true
nstr=false
suiji="rnd(id)"
Else
'如果是SQL資料庫,請認真修改好以下資料庫選項
DataServer = "wwwjb51net" '資料庫伺服器IP
DataUser = "jb51net" '訪問資料庫用戶名
DataBaseName = "jb51net" '資料庫名稱
DataBasePsw = "密碼" '訪問資料庫密碼
SqlNowString = "getdate()"
ystr=1
nstr=0
suiji="newid()"
End if
On Error Resume Next
If DataBaseType = 1 Then
ConnStr="driver={SQL Server};server="&dataserver&";UID="&datauser&";PWD="&databasepsw&";Database="&databasename
Else
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DBPath)
End If
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnStr
If Err Then Err.Clear:Set conn = Nothing:Response.Write "資料庫連接出錯,請檢查Conn.asp文件中的資料庫參數設置。":Response.End
%>
『肆』 java怎麼與資料庫連接
使用java連接MySQL資料庫與其他的資料庫連接核心是一樣的,如果說區別,那就是所需的驅動不一樣。
工具/原料
MySQL、JDK
方法/步驟
1、首先需要安裝好JDK(配置環境變數),如圖所示:
3、最後通過代碼進行連接。
(1)確定連接路徑URL:
String url="jdbc:mysql://localhost(可以是本機IP地址):3306(埠號)/mysqltest(資料庫名稱)?"+"user=用戶賬號&password=用戶密碼&useUnicode=字元編碼";
(2)載入驅動:
Class.forName("com.mysql.jdbc.Driver");
(3)連接,獲取Connection對象
Connection conn=DriverManager.getConnection(url)
(4)可以通過conn對象檢驗連接與否。
『伍』 VB怎麼連接 SQL 資料庫
一個簡單的方法:
首先,建立程序公共模塊輸入以下代碼:
Public conn As New ADODB.Connection
'全局變數 rst 指針
Public rst As New ADODB.Recordset
'全局調用函數 打開資料庫
Public Function openconn()
conn.ConnectionString = "連接信息"
'此連接信息最簡單的生成辦法:
'在任意窗口下建立一新ADODC控制項
'選擇控制項屬性,通用頁,使用連接字元串,生成(U)
'利用該向導生成出字元串,然後將該字元串復制到"連接信息"中即可
conn.Open
End Function
'全局調用函數 關閉資料庫
Public Function closeconn()
If conn.State = 1 Then
conn.Close
Set conn = Nothing
End If
End Function
然後在窗體文件中可以使用的函數:
打開資料庫:openconn
注意:此函數為自定義函數,無參數,定義在公共模塊中!
建立數據表連接:Set rst = conn.Execute("select * from 數據表名")
如做登陸頁可以這樣判斷用戶名密碼:
Text1.Text = RTrim(rst.Fields("id")) And Text2.Text = RTrim(rst.Fields("password"))
注:其中Text1.Text為輸入用戶名TextBOX Text2.Text為輸入密碼TextBOX
數據表中 id 為保存用戶名 password 為保存密碼!此方法為非加密方法!
關閉資料庫函數:
closeconn
Set rst = Nothing
注:此兩行,必須在打開資料庫的情況下使用!並且每打開一次資料庫後必須先使用此兩句將資料庫關閉後才可打開另一資料庫表文件!!!!!否則程序報錯終止!
添加新數據函數
rst.AddNew
rst("欄位名1") = Text1.Text
rst("欄位名2") = Text2.Text
rst.Update
刪除數據函數
rst.Delete
注:使用此函數前,必須保證資料庫指針函數rst指向需刪除數據,移動rst指針可以使用函數:rst.MoveNext或rst.MoveLast
更新數據函數
rst.Open "update 數據表名 set 欄位1='" + Text1.Text + "',欄位2='" + Text2.Text + "' where id='" + Text3.Text + "'", conn, 1, 3
注,其中 where id = 為更新特定數據表的查找!
如果熟悉SQL語句,還可編寫出其他方式的查找,這里就不多做介紹了!
『陸』 Java資料庫連接的建立聯接
建議鏈接的五大步驟:
1載入(注冊)資料庫
2 建立鏈接
3 執行SQL語句
4 處理結果集
5 關閉資料庫
教程:JDBC 入門 作者:Maydene Fisher 翻譯:comer
你需要做的第一事情是你與想要使用的 DBMS 建立一個連接。這包含 2 個步驟:裝載驅動程序並建立連接。
裝載驅動程序
裝載驅動程序只需要非常簡單的一行代碼。例如,你想要使用 JDBC-ODBC 橋驅動程序,可以用下列代碼裝載它:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
你的驅動程序文檔將告訴你應該使用的類名。例如, 如果類名是 jdbc.DriverXYZ ,你將用代碼以下的代碼裝載驅動程序:
Class.forName("jdbc.DriverXYZ");
你不需要創建一個驅動程序類的實例並且用 DriverManager 登記它,因為調用 Class.forName 將自動將載入驅動程序類。如果你曾自己創建實例,你將創建一個不必要的副本,但它不會帶來什麼壞處。
載入 Driver 類後,它們即可用來與資料庫建立連接。
建立連接
第二步就是用適當的驅動程序類與 DBMS 建立一個連接。下列代碼是一般的做法:
Connection con = DriverManager.getConnection(url,"myLogin","myPassword");
這個步驟也非常簡單,最難的是怎麼提供 url。如果你正在使用 JDBC-ODBC 橋, JDBC URL 將以 jdbc:odbc 開始:餘下 URL 通常是你的數據源名字或資料庫系統。因此,假設你正在使用 ODBC 存取一個叫 "Fred" 的 ODBC 數據源,你的 JDBC URL 是 jdbc:odbc:Fred。把 "myLogin" 及 "myPassword" 替換為你登陸 DBMS 的用戶名及口令。如果你登陸資料庫系統的用戶名為 "Fernanda" 口令為 "J8",只需下面的 2 行代碼就可以建立一個連接:
String url = "jdbc:odbc:Fred";
Connection con = DriverManager.getConnection(url,"Fernanda","J8");
如果你使用的是第三方開發了的 JDBC驅動程序,文檔將告訴你該使用什麼 subprotocol, 就是在 JDBC URL 中放在 jdbc 後面的部分。例如,如果驅動程序開發者注冊了 acme 作為 subprotocol, JDBC URL 的第一和第二部分將是 jdbc:acme。驅動程序文檔也會告訴你餘下 JDBC URL 的格式。JDBC URL 最後一部分提供了定位資料庫的信息。
如果你裝載的驅動程序識別了提供給 DriverManager.getConnection 的 JDBC URL ,那個驅動程序將根據 JDBC URL 建立一個到指定 DBMS 的連接。正如名稱所示,DriverManager 類在幕後為你管理建立連接的所有細節。除非你是正在寫驅動程序,你可能無需使用此類的其它任何方法,一般程序員需要在此類中直接使用的唯一方法是 DriverManager.getConnection。
DriverManager.getConnection 方法返回一個打開的連接,你可以使用此連接創建 JDBC statements 並發送 SQL 語句到資料庫。在前面的例子里,con 對象是一個打開的連接,並且我們要在以後的例子里使用它。
設置表
創建表
首先,我們在我們的示例資料庫創建其中一張表 COFFEES,包含在咖啡店所賣咖啡的必要的信息,包括咖啡名字,他們的價格,本星期賣了多少磅及迄今為止賣的數目。
另外,我們應該指出的的是 SQL 語句的格式。在 CREATE TABLE 語句中,關鍵字採用大寫字元,並且每個項目都另起一行。SQL 並沒有此要求;僅僅是為了更容易閱讀。SQL 標準是不區分關鍵詞的大小寫的,
然而,引號里的內容是區分大小寫的:在名字"Washington" 里 "W" 必須被大寫,並且餘下的字元必須是小寫的。
對於標識,不同的 DBMS 有不同的要求,例如,某些 DBMSs 要求那些列名及表名必須跟創建時的一樣,有些則沒有此要求。為安全起見,我們全部使用大寫標識如 COFFEES、SUPPLIERS,因為我們是那樣定義他們的。
到止我們寫了創建 COFFEES 表的 SQL 語句,我們在它外面加上引號(使它成為字元串),並且字元串賦值給變數 createTableCoffees,在以後的 JDBC 代碼中我們可以使用此變數。正如看到的,DBMS 並不在意分行,但對 Java 語言來,String 對象分行是通不過編譯的。因而,我們可以用加號 (+) 把每一行的串連接。
String createTableCoffees = "CREATE TABLE COFFEES " +
"(COF_NAME VARCHAR(32),SUP_ID INTEGER,PRICE FLOAT," +
"SALES INTEGER,TOTAL INTEGER)";
我們在 CREATE TABLE 語句中使用的數據類型是通用的 SQL 類型(也稱 JDBC 類型)它們在類 java.sql.Types 中定義。DBMSs 通常使用這些標準的類型,因此,當你要嘗試一些 JDBC 應用程序時,你可以直接使用 CreateCoffees.java 應用程序,它使用了 CREATE TABLE 語句。如果你的 DBMS 使用了它的自己的本地的類型名字,我們為你供應其它的應用程序,我們將在後面詳細解釋。
在運用任何應用程序前,當然,我們將讓你了解 JDBC 的基礎。
創建 JDBC Statements 對象
Statement 對象用於把 SQL 語句發送到 DBMS。你只須簡單地創建一個 Statement 對象並且然後執行它,使用適當的方法執行你發送的 SQL 語句。對 SELECT 語句來說,可以使用 executeQuery。要創建或修改表的語句,使用的方法是 executeUpdate。
需要一個活躍的連接的來創建 Statement 對象的實例。在下面的例子中,我們使用我們的 Connection 對象 con 創建 Statement 對象 stmt:
Statement stmt = con.createStatement();
到此 stmt 已經存在了,但它還沒有把 SQL 語句傳遞到 DBMS。我們需要提供 SQL 語句作為參數提供給我們使用的 Statement 的方法。例如,在下面的代碼段里,我們使用上面例子中的 SQL 語句作為 executeUpdate 的參數:
stmt.executeUpdate("CREATE TABLE COFFEES " +
"(COF_NAME VARCHAR(32),SUP_ID INTEGER,PRICE FLOAT," +
"SALES INTEGER,TOTAL INTEGER)");
因為我們已經把 SQL 語句賦給了 createTableCoffees 變數,我們可以如下方式書寫代碼:
stmt.executeUpdate(createTableCoffees);
執行語句
我們使用 executeUpdate 方法是因為在 createTableCoffees 中的 SQL 語句是 DDL (數據定義語言)語句。創建表,改變表,刪除表都是 DDL 語句的例子,要用 executeUpdate 方法來執行。你也可以從它的名字里看出,方法 executeUpdate 也被用於執行更新表 SQL 語句。實際上,相對於創建表來說,executeUpdate 用於更新表的時間更多,因為表只需要創建一次,但經常被更新。
被使用最多的執行 SQL 語句的方法是 executeQuery。這個方法被用來執行 SELECT 語句,它幾乎是使用最多的 SQL 語句。馬上你將看到如何使用這個方法。
在表中輸入數據
我們已經顯示了如何通過指定列名、數據類型來創建表 COFFEES,但是這僅僅建立表的結構。表還沒有任何數據。我們將次輸入一行數據到表中,提供每列的信息,注意插入的數據顯示順序跟表創建時候是一樣的,既預設順序。
下列代碼插入一個行數據,COF_NAME 的值為 Colombian,SUP_ID 為 101,PRICE 為 7.99,SALES 0,TOTAL 0。就象創建 COFFEES 表一樣,我們創建一 Statement 對象,並執行 executeUpdate 方法。
因為 SQL 語句一行顯示不下,因此我們把它分為兩行,並用加號 (+) 相連。特別要注意的是,在 COFFEES 和 VALUES 之間要有空格。這個空格必須在引號之內並且要在 COFFEES 跟 VALUES 之間;沒有這個空格,SQL 語句將被錯誤地被讀作為 "INSERT INTO COFFEESVALUES ...",並且 DBMS 將尋找表 COFFEESVALUES。還要注意的是在 coffee name 上我們使用了單引號。
Statement stmt = con.createStatement();
stmt.executeUpdate(
"INSERT INTO COFFEES " +
"VALUES ('Colombian',101,7.99,0,0)");
下面的代碼把第二行插入到表 COFFEES 中。我們可以在使用 Statement 對象而無須為每次執行創建一個新的。
stmt.executeUpdate("INSERT INTO COFFEES " +
"VALUES ('French_Roast',49,8.99,0,0)");
剩下行的數據如下:
stmt.executeUpdate("INSERT INTO COFFEES " +
"VALUES ('Espresso',150,9.99,0,0)");
stmt.executeUpdate("INSERT INTO COFFEES " +
"VALUES ('Colombian_Decaf',101,8.99,0,0)");
stmt.executeUpdate("INSERT INTO COFFEES " +
"VALUES ('French_Roast_Decaf',49,9.99,0,0)");
從表中取得數據
既然表 COFFEES 中已經有數據了,我們就可以寫一個 SELECT 語句來取得這些值。下面的 SQL 語句中星號 (*) 表示選擇所有的列。因為沒有用 WHERE 子句來限制所選的行,因此下面的 SQL 語句選擇的是整個表。
SELECT * FROM COFFEES
結果是整個表的數據,如下:
COF_NAME SUP_ID PRICE SALES TOTAL
--------------- ------ ----- ----- -----
Colombian 101 7.99 0 0
French_Roast 49 8.99 0 0
Espresso 150 9.99 0 0
Colombian_Decaf 101 8.99 0 0
French_Roast_Decaf 49 9.99 0 0
如果你直接在資料庫系統里輸入 SQL 查詢語句,你將在你的終端上看到如上的結果。當我們通過一個 Java 應用程序存取一個資料庫時,正如我們馬上要做的一樣,我們需要檢索結果以便我們能使用他們。你將在下一節看到如何實現。
這是 SELECT 語句的另一個例子,這將得到咖啡及其各自每磅單價的列表。
SELECT COF_NAME,PRICE FROM COFFEES
查詢的結果集將具有如下形式:
COF_NAME PRICE
-------- ---------- -----
Colombian 7.99
French_Roast 8.99
Espresso 9.99
Colombian_Decaf 8.99
French_Roast_Decaf 9.99
上面 SELECT 語句取得了所有咖啡的名字及價格。而下面的 SELECT 語句限制那些每磅價格低於 $9.00 的咖啡才被選擇。
SELECT COF_NAME,PRICE
FROM COFFEES
WHERE PRICE < 9.00
結果集將具有如下形式:
COF_NAME PRICE
-------- ------- -----
Colombian 7.99
French_Roast 8.99
Colombian Decaf 8.99
JDBC 入門 -- 開始
你需要做的第一事情是你要正確的安裝。這包含下列幾個步驟:
在你的計算機上安裝 Java 和 JDBC
Java 資料庫連接 (JDBC) 是一個標准 SQL(Structured Query Language,結構化查詢語言)資料庫訪問介面,可以為多種關系資料庫提供統一訪問。JDBC(Java DataBaseConnection,Java 資料庫連接) 也提供一種基準,據此可以構建更高級的工具和介面。 JDK(Java Development Kit,Java 開發工具包)軟體捆綁包括 JDBC 和 JDBC-ODBC(Open DataBase Connection,開放式資料庫連接)橋。這些包也可獨立得到,以跟 JDK 1.0 一起使用。應該注意的是,本文的示例使用了 JDBC 2.0 介面,需要 JDK 2.0 來運行,不能在 JDK 1.1 下運行。
你的驅動程序應該有安裝方法。為特定的 DBMSs 寫的 JDBC 驅動程序安裝時只要拷貝到你的計算機上就可以了。並不需要特殊的配置。
如果你下載的是 Solaris 或 Windows JDK1.1 版本,橋作為包 sun.jdbc.odbc 與 JDK 一起自動安裝。有關安裝和配置 ODBC 的信息,請咨詢 ODBC 驅動程序廠商。橋無須特殊配置。有關客戶機安裝和配置信息,請咨詢資料庫廠商。
如果需要,安裝資料庫系統
如果你不能確認是否安裝了資料庫系統,你需要按照供應商的要求安裝資料庫。大多數用戶都已經安裝了資料庫,可繼續使用他們安裝好的資料庫。
配置資料庫
我們假設資料庫 COFFEEBREAK 已經存在。(創建一個資料庫並不困難,但需要一定的許可權並通常是由資料庫管理員來做)你還需要在此資料庫里創建本教程作為例子使用的表。我們有意限製表的大小跟及數目,以便於管理。
假設我們的資料庫是在一個咖啡館里使用, 咖啡豆按磅賣,而咖啡則以杯為單位。為了簡單起見,還假定經營者只需要 2 張表,分別存放不同種類的咖啡及咖啡供應商的有關信息。
首先我們演示怎麼打開一個 DBMS 連接, 及 JDBC 是怎麼發送 SQL 語句到你的 DBMS。通過這些代碼,我們將表明使用 JDBC 傳遞 SQL 語句到你的 DBMS 並處理返回的結果是非常簡單的。
所有的代碼在主要的幾個 DBMS 產品做了測試。然而,如果你使用 JDBC-ODBC 橋來連接舊版本 ODBC 驅動程序時,可能會遇到一些兼容性問題。