當前位置:首頁 » 數據倉庫 » 配置數據源是哪個元素
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

配置數據源是哪個元素

發布時間: 2023-08-27 11:10:48

① 求助:Java數據源怎麼配置

一 首先要配置Tomcat的server.xml文件,在對應的web應用的<Context>中加入<Resource>元素,比如:
<Context path="/Manager" reloadable="true">
<Resource
name="hello"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
username="root"
password="123456"
maxIdle="4"
maxActive="4"
maxWait="5000"
url="jdbc:mysql://127.0.0.1/jspdev"
/>
</Context>
其中:
name:指定Resource的JNDI名字
type:指定Resource所屬的Java類名
driverClassName:指定連接資料庫的JDBC驅動程序
username:指定連接資料庫的用戶名
password:指定連接資料庫的口令
maxIdle:指定資料庫連接池中的最大空閑連接數目,0表示不受限制
maxActive:指定資料庫連接池中的最大活動連接數目,0表示不受限制
maxWait:指定連接池中連接處於空閑狀態的最長時間,超過會拋出異常,-1表示無限
url:指定連接資料庫的URL

二 在Web應用中使用數據源:
javax.naming.Context提供了查找JNDI Resource的介面,可以通過三個步驟來使用數據源對象:
A.獲得對數據源的引用:
Context ctx = new InitalContext();
DataSource ds =
(DataSource)ctx.lookup("java:comp/env/hello");
B.獲得資料庫連接對象:
Connection con = ds.getConnection();

C.返回資料庫連接到連接池:
con.close();
在連接池中使用close()方法和在非連接池中使用close()方法的區別是:前者僅僅是把資料庫連接對象返回到資料庫連接池中,是連接對象又恢復到空閑狀態,而非關閉資料庫連接,而後者將直接關閉和資料庫的連接。

三 如果通過數據源訪問資料庫,由於數據源由Servlet容器創建並維護,所以必須把JDBC驅動程序拷貝到Tomcat安裝目錄下的common/lib目錄下,確保Servlet容器能夠訪問驅動程序。

② odbc數據源配置

1、首先要保證機器上裝了oracle伺服器端,並且能夠正常運行。進入控制面板,將「查看方式」 改為「小圖標」。搜塌

③ 為什麼要進行數據流程分析,數據流圖有哪些組成元素

數據流程圖中有以下幾種主要元素: →:數據流。數據流是數據在系統內傳播的路徑,因此由一組成分固定的數據組成。如訂票單由旅客姓名、年齡、單位、身份證號、日期、目的地等數據項組成。由於數據流是流動中的數據,所以必須有流向,除了與數據存儲之間的數據流不用命名外,數據流應該用名詞或名詞短語命名。 □:數據源(終點)。代表系統之外的實體,可以是人、物或其他軟體系統。 ○:對數據的加工(處理)。加工是對數據進行處理的單元,它接收一定的數據輸入,對其進行處理,並產生輸出。 〓:數據存儲。表示信息的靜態存儲,可以代表文件、文件的一部分、資料庫的元素等。

如何配置ODBC數據源(以Access資料庫為例)

以access資料庫為例,Window7 系統,配置數據源,操作步驟如下:

1、打開電腦,點擊開始菜單。

⑤ 如何使用solr配置來建立多張表的索引

以下資料整理自網路,以及查看solr幫助文檔。主要分為兩部分,第一部分是對《db-data-config.xml》的配置內容的講解(屬於高級內容),第二部分是DataImportHandler(屬於基礎),第三部分是對db-data-config.xml的進階

第一部分是對《db-data-config.xml》

query是獲取全部數據的SQL
deltaImportQuery是獲取增量數據時使用的SQL
deltaQuery是獲取pk的SQL
parentDeltaQuery是獲取父Entity的pk的SQLFull
Import工作原理:
執行本Entity的Query,獲取所有數據;
針對每個行數據Row,獲取pk,組裝子Entity的Query;
執行子Entity的Query,獲取子Entity的數據。Delta
Import工作原理:
查找子Entity,直到沒有為止;
執行Entity的deltaQuery,獲取變化數據的pk;
合並子Entity
parentDeltaQuery得到的pk;
針對每一個pk
Row,組裝父Entity的parentDeltaQuery;
執行parentDeltaQuery,獲取父Entity的pk;
執行deltaImportQuery,獲取自身的數據;
如果沒有deltaImportQuery,就組裝Query限制:
子Entity的query必須引用父Entity的pk
子Entity的parentDeltaQuery必須引用自己的pk
子Entity的parentDeltaQuery必須返回父Entity的pk
deltaImportQuery引用的必須是自己的pk第二部分是DataImportHandler

關於DataImportHandler的具體使用方法,詳見下文,如果你英文超級好,那看這個鏈接吧:http://wiki.apache.org/solr/DataImportHandler大多數的應用程序將數據存儲在關系資料庫、xml文件中。對這樣的數據進行搜索是很常見的應用。所謂的DataImportHandler提供一種可配置的方式向solr導入數據,可以一次全部導入,也可以增量導入。

概覽

目標

能夠讀取關系資料庫中的數據。

通過可配置的方式,能夠將資料庫中多列、多表的數據生成solr文檔

能夠通過solr文檔更新solr

提供 通過配置文件就能夠導入所有數據的能力

能夠發現並處理
由insert、update帶來的變化(我們假定在表中有一個叫做「last-modified的列」)

能夠配置 「完全導入」和「增量導入」的時間

讓讀取xml文件,並建立索引成為可配置。

能夠將
其他的數據源(例如:ftp,scp,etc)或者其他格式的文檔(Json,csv)以插件的形式集成到項目中。

設計思路

這個Handler首先要在solrconfig.xml文件中配置下,如下所示。


<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">/home/username/data-config.xml</str>
</lst>
</requestHandler>從它的名字上,我們或許也可以猜到,
DataImportHandler正是requestHandler的實現。我們一共需要在兩個地方配置文件中進行一些配置。

solrconfig.xml 。
data-config.xml必須在這個文件中配置,datasource也可以。不過,一般將datasource放在data-config.xml文件中。

data-config.xml怎樣獲取數據?(查詢語句、url等等)

要讀什麼樣的數據(關系資料庫中的列、或者xml的域)

做什麼樣的處理(修改/添加/刪除)

跟關系資料庫一起使用

下面幾個步驟是必要的.

定義一個data-config.xml 文件,並這個它的路徑配置到solrconfig.xml
中關於DataImportHandler的配置中。

給出Connection的信息(假設你選擇在solrconfig中配置datasource)

打開DataImportHandler頁面去驗證,是否該配置的都配置好了。http://localhost:8983/solr/dataimport

使用「完全導入」命令將數據從資料庫中導出,並提交給solr建立索引

使用「增量導入」命令對資料庫發生的變化的數據導出,並提交給solr建立索引。

配置數據源

將dataSource標簽直接添加到dataConfig下面,即成為dataConfig的子元素.


<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/dbname" user="db_username" password="db_password"/>數據源也可以配置在solrconfig.xml中

屬性type 指定了實現的類型。它是可選的。默認的實現是JdbcDataSource。

屬性 name 是datasources的名字,當有多個datasources時,可以使用name屬性加以區分

其他的屬性都是隨意的,根據你使用的DataSource實現而定。

當然 你也可以實現自己的DataSource。

多數據源

一個配置文件可以配置多個數據源。增加一個dataSource元素就可以增加一個數據源了。name屬性可以區分不同的數據源。如果配置了多於一個的數據源,那麼要注意將name配置成唯一的。

例如:

<dataSource type="JdbcDataSource" name="ds-1" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://db1-host/dbname" user="db_username" password="db_password"/>

<dataSource type="JdbcDataSource" name="ds-2" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://db2-host/dbname" user="db_username" password="db_password"/>

然後這樣使用 ..

<entity name="one" dataSource="ds-1" ...>

..

</entity>

<entity name="two" dataSource="ds-2" ...>

..

</entity>

..

配置JdbcDataSource

JdbcDataSource中的屬性有

driver(必需的):jdbc驅動名稱

url(必需的):jdbc鏈接

user:用戶名

password:密碼

批量大小:jdbc鏈接中的批量大小

任何其他的在JdbcDataSource中配置的屬性,都會被直接傳給jdbc
driver

配置data-config.xml

solr
document是schema,它的域上的值可能來自於多個表.

data-config.xml的根元素是document。一個document元素代表了一種文檔。一個document元素中包含了一個或者多個root實體。一個root實體包含著一些子實體,這些子實體能夠包含其他的實體。實體就是,關系資料庫上的表或者視圖。每個實體都能夠包含多個域,每個域對應著資料庫返回結果中的一列。域的名字跟列的名字默認是一樣的。如果一個列的名字跟solr
field的名字不一樣,那麼屬性name就應該要給出。其他的需要的屬性在solrschema.xml文件中配置。

為了能夠從資料庫中取得想要的數據,我們的設計支持標准sql規范。這使得用戶能夠使用他任何想要的sql語句。root實體是一個中心表,使用它的列可以把表連接在一起。

dataconfig的結構

dataconfig的結構不是一成不變的,entity和field元素中的屬性是隨意的,這主要取決於processor和transformer。

以下是entity的默認屬性

name(必需的):name是唯一的,用以標識entity

processor:只有當datasource不是RDBMS時才是必需的。默認值是SqlEntityProcessor

transformer:轉換器將會被應用到這個entity上,詳情請瀏覽transformer部分。

pk:entity的主鍵,它是可選的,但使用「增量導入」的時候是必需。它跟schema.xml中定義的uniqueKey沒有必然的聯系,但它們可以相同。

rootEntity:默認情況下,document元素下就是根實體了,如果沒有根實體的話,直接在實體下面的實體將會被看做跟實體。對於根實體對應的資料庫中返回的數據的每一行,solr都將生成一個document。

一下是SqlEntityProcessor的屬性

query (required) :sql語句

deltaQuery : 只在「增量導入」中使用

parentDeltaQuery : 只在「增量導入」中使用

deletedPkQuery : 只在「增量導入」中使用

deltaImportQuery : (只在「增量導入」中使用) .
如果這個存在,那麼它將會在「增量導入」中導入phase時代替query產生作用。這里有一個命名空間的用法${dataimporter.delta.}詳情請看solr1.4.