題主,可能是缺少所需的jdbc,需要去相關(guān)網(wǎng)站下載對(duì)于數(shù)據(jù)庫(kù)版本的jdbc,下載完成后放到finereport指定目錄下才可以正常連接。
創(chuàng)新互聯(lián)是一家專業(yè)提供青田企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、html5、小程序制作等業(yè)務(wù)。10年已為青田眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
重啟設(shè)計(jì)器,添加數(shù)據(jù)庫(kù)連接。選擇JDBC,選擇Postgre數(shù)據(jù)庫(kù),修改URL,指定數(shù)據(jù)庫(kù)服務(wù)器,Postgre默認(rèn)端口號(hào)是5432,端口后面寫上數(shù)據(jù)庫(kù)名稱,點(diǎn)擊測(cè)試連接,就可以看到提示成功了。
調(diào)用Oracle過程一共有兩種情況,分別是不帶輸出參數(shù)的和帶參數(shù)的,具體內(nèi)容可以參照如Chinafine之類的論壇或者博客,在這里就簡(jiǎn)單地說(shuō)一下這兩種情況的代碼內(nèi)容:
不帶輸出參數(shù)情況(過程名稱為pro1,參數(shù)個(gè)數(shù)1個(gè),數(shù)據(jù)類型為整形數(shù)據(jù) )
import ?java.sql. *
;?
public ? class ?ProcedureNoArgs??
{?
public ? static ? void ?main(String?args[])? throws ?Exception?
{?
//
加載Oracle驅(qū)動(dòng)?
DriverManager.registerDriver( new ?oracle.jdbc.driver.OracleDriver());?
//
獲得Oracle數(shù)據(jù)庫(kù)連接?
Connection?conn =
DriverManager.getConnection( " jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd
" );?
// 創(chuàng)建存儲(chǔ)過程的對(duì)象?
CallableStatement?c = conn.divpareCall( " {call?pro1(?)} " );?
// 給Oracle存儲(chǔ)過程的參數(shù)設(shè)置值?,將第一個(gè)參數(shù)的值設(shè)置成188?
c.setInt( 1 , 188 );?
// 執(zhí)行Oracle存儲(chǔ)過程?
c.execute();?
conn.close();?
} ?
}
2.帶輸出參數(shù)的情況(過程名稱為pro2,參數(shù)個(gè)數(shù)2個(gè),數(shù)據(jù)類型為整形數(shù)據(jù),返回值為整形類型)
import?java.sql.*;?
public?class?ProcedureWithArgs??
{?
public?static?void?main(String?args[])?throws?Exception?
{?
//加載Oracle驅(qū)動(dòng)?
DriverManager.registerDriver(new?oracle.jdbc.driver.OracleDriver());?
//獲得Oracle數(shù)據(jù)庫(kù)連接?
Connection?conn = DriverManager.getConnection("jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd ");?
//創(chuàng)建Oracle存儲(chǔ)過程的對(duì)象,調(diào)用存儲(chǔ)過程?
CallableStatement?c=conn.divpareCall("{call?pro2(?,?)}");?
//給Oracle存儲(chǔ)過程的參數(shù)設(shè)置值?,將第一個(gè)參數(shù)的值設(shè)置成188?
c.setInt(1,188);?
//注冊(cè)存儲(chǔ)過程的第二個(gè)參數(shù)??
c.registerOutParameter(2,java.sql.Types.INTEGER);
//執(zhí)行Oracle存儲(chǔ)過程?
c.execute();?
//得到存儲(chǔ)過程的輸出參數(shù)值并打印出來(lái)
System.out.println (c.getInt(2));???
conn.close();?
}?
}
希望能夠幫到題主~
在帆軟設(shè)計(jì)器里,在“服務(wù)器”--“定義數(shù)據(jù)連接”里面新建數(shù)據(jù)庫(kù)連接
一、oracle服務(wù)器安裝與配置:
操作系統(tǒng):win7 32位 旗艦版
oracle版本:11g R2
安裝基本上不會(huì)出現(xiàn)什么問題,如果之前裝過最好卸載掉,卸載步驟:
1. 在服務(wù)中停止所有的oracle相關(guān)服務(wù);
2. 刪除注冊(cè)表中以下三個(gè)位置的oracle相關(guān)文件夾:
HKEY_LOCAL_MACHINE\SOFTWARE
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application
3. 在環(huán)境變量中path中,刪除oracle信息;
4. 在系統(tǒng)盤的Windows、Program Files、Program Files(x86)文件夾下,刪除oracle文件夾和oraodbc.ini文件;
5. 刪除oracle安裝目錄,重啟機(jī)器。
二、oracle linux client安裝與配置
1.安裝oracle-instantclient12.1-basic-12.1.0.1.0-1.i386.rpm
oracle-instantclient12.1-devel-12.1.0.1.0-1.i386.rpm
oracle-instantclient12.1-sqlplus-12.1.0.1.0-1.i386.rpm
2.在/etc/ld.so.conf中添加/usr/lib/oracle/12.1/client/lib路徑后執(zhí)行l(wèi)dconfig,也可以在LD_LIBRARY_PATH
中添加路徑
3.在~/.bashrc中添加export ORACLE_HOME=/usr/lib/oracle/12.1/client
export TNS_ADMIN=/usr/lib/oracle/12.1/client/network/admin,然后重新登錄
4.在/usr/lib/oracle/12.1/client目錄下添加network/admin/ntsnames.ora,如下
# tnsnames.ora Network Configuration File: F:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.221)(PORT = 1521))
)
(CONNECT_DATA =
(SID = orcl)
(SERVER = DEDICATED)
)
)
5.先運(yùn)行./sqlplus username/passwd@192.168.1.1:1521/orcl,可以的話說(shuō)明安裝沒問題,然后運(yùn)行
./sqlplus username/passwd@orcl,不能連上就看看tnsnames.ora有沒問題
至此linux oracle client安裝配置OK
點(diǎn)擊服務(wù)器------定義數(shù)據(jù)連接 然后點(diǎn)右側(cè)的加號(hào)按鈕選擇數(shù)據(jù)庫(kù),輸入你本地的數(shù)據(jù)庫(kù)地址url和用戶名和密碼