真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

vs怎么鏈接oracle vs2013鏈接器在哪

vs2022如何連接oracle

vs2022如何連接oracle的解決方法如下:

創(chuàng)新互聯(lián)公司主營(yíng)湖里網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app開發(fā)定制,湖里h5成都小程序開發(fā)搭建,湖里網(wǎng)站營(yíng)銷推廣歡迎湖里等地區(qū)企業(yè)咨詢

本機(jī)環(huán)境:64位win7,安裝了64位的oracle桌面類

服務(wù)器環(huán)境:64位windows server 2008,64位oracle服務(wù)器端

問題:本機(jī)用sql developer連數(shù)據(jù)庫沒有問題,winform程序連接也沒有問題,但是web程序連接oracle失敗,報(bào)錯(cuò):“嘗試加載 Oracle 客戶端庫時(shí)引發(fā) BadImageFormatException。如果在安裝 32 位 Oracle 客戶端組件的情況下以 64 位模式運(yùn)行,將出現(xiàn)此問題?!?/p>

解決過程:在網(wǎng)上查找原因,說是因?yàn)閂S的webDe.webServer.exe 是一個(gè)32位的進(jìn)程,所以連不上64位數(shù)據(jù)庫,解決方法提了很多,包括把項(xiàng)目的屬性里的生成選項(xiàng)里的目標(biāo)平臺(tái):改為x86,web項(xiàng)里的服務(wù)器改成iis不使用vs自帶的web deleloper ment 服務(wù),修改path環(huán)境變量等,但是都沒管用。

最終的解決辦法:安裝32位oracle客戶端(win32_11gR2_client.zip),但是這樣一來winform程序又連不上數(shù)據(jù)庫了,得把winform程序的項(xiàng)目屬性里生成選項(xiàng)的目標(biāo)平臺(tái)改成x86,這樣就都行了。

在vs2010中使用c# 連接oracle 11g

在vs2010中使用c# 連接oracle 11g:

一. 在VS2010中連接 Oracle數(shù)據(jù)庫有兩種方法:

第一種:微軟提供的連接方法 : using System.Data.OracleClient;

第二種:Oracle自己提供的方法:using Oracle.DataAccess.Client;

連接字符串:

connectionString="Password=czh;User?ID=czh;Data?Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=XXX.XXX.XXX.XXX)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=skydream)));"

1.?微軟提供的連接方法 : using System.Data.OracleClient;

測(cè)試?yán)蹋?/p>

··1.在VS2010新建控制臺(tái)應(yīng)用程序(C#);

··2.右鍵、引用,在.NET中選擇System.Data.OracleClient;

··3.在程序中 using?System.Data.OracleClient;

using?System;??

using?System.Collections.Generic;??

using?System.Linq;??

using?System.Text;??

using?System.Data.OracleClient;??

namespace?ConsoleApplication2??

{??

class?Program??

{??

static?void?Main(string[]?args)??

{??

string?connectionString;??

string?queryString;??

connectionString?=?"Data?Source=202.200.136.125/orcl;User?ID=openlab;PassWord=open123";??

queryString?=?"SELECT?*?FROM?T_USER";??

OracleConnection?myConnection?=?new?OracleConnection(connectionString);??

OracleCommand?myORACCommand?=?myConnection.CreateCommand();??

myORACCommand.CommandText?=?queryString;??

myConnection.Open();??

OracleDataReader?myDataReader?=?myORACCommand.ExecuteReader();??

myDataReader.Read();??

Console.WriteLine("email:?"?+?myDataReader["EMAIL"]);??

myDataReader.Close();??

myConnection.Close();??

}??

}??

}

2.Oracle自己提供的方法:using Oracle.DataAccess.Client;

前提條件:安裝oracle或者oracle client以及安裝 Oracle Client 。

··1.在VS2010新建控制臺(tái)應(yīng)用程序(C#);

··2.右鍵、引用,在.NET/組件中選擇Oracle.DataAccess.Client;如果找不到則選擇 瀏覽,進(jìn)入到oracleclient的安裝目錄尋找 Oracle.Data.Access.dll? (典型目錄為:E:\app\Administrator\product\11.2.0\client_1\ODP.NET\bin\2.x\Oracle.DataAccess.dll)

··3.程序中添加引用:using Oracle.DataAccess.Client;

using?System;??

using?System.Collections.Generic;??

using?System.Linq;??

using?System.Text;??

using?Oracle.DataAccess.Client;??

namespace?testConnectionOracle??

{??

class?Program??

{??

static?void?Main(string[]?args)??

{??

string?connectionString;??

string?queryString;??

connectionString?=?"Data?Source=202.200.155.123/orcl;User?ID=openlab;PassWord=open123";??

queryString?=?"SELECT?*?FROM?T_USER";??

OracleConnection?myConnection?=?new?OracleConnection(connectionString);??

OracleCommand?myORACCommand?=?myConnection.CreateCommand();??

myORACCommand.CommandText?=?queryString;??

myConnection.Open();??

OracleDataReader?myDataReader?=?myORACCommand.ExecuteReader();??

myDataReader.Read();??

Console.WriteLine("email:?"?+?myDataReader["EMAIL"]);??

myDataReader.Close();??

myConnection.Close();??

}??

}??

}

visual怎么連接oracle數(shù)據(jù)庫

宿主機(jī):Win10 + VS2015 + ODP.Net for VS2015虛擬機(jī):Win7 + Oracle 11g + 橋接

配置ODP.Net

首先下載 Oracle Developer Tools for Visual Studio 2015 ,下載此文件需要注冊(cè)O(shè)racle社區(qū)賬號(hào)并接受相關(guān)的協(xié)議,此文件提供了以下組件:

Oracle Developer Tools for Visual Studio 12.1.0.2.4

Oracle Data Provider for .NET 4 12.1.0.2.0

Oracle Providers for ASP.NET 4 12.1.0.2.0

下載完成后運(yùn)行MSI安裝程序進(jìn)行安裝,安裝完成后會(huì)自動(dòng)注冊(cè)VS2015的相關(guān)插件,重新啟動(dòng)VS2015后將會(huì)看到Oracle的相關(guān)命令,比如SQL *PLUS支持等。同時(shí)添加數(shù)據(jù)庫時(shí)也能看到相應(yīng)的選項(xiàng)。

ODP.Net支持所有Oracle版本,因此下載時(shí)只需要注意VS的版本即可。

配置tnsnames.ora

ODP.Net默認(rèn)使用安裝目錄下的 tnsnames.ora ,若安裝目錄在Program Files下,可能會(huì)遇到無權(quán)限等問題,此時(shí)使用管理員權(quán)限打開命令行,切換到對(duì)應(yīng)目錄并使用notepad編輯。

復(fù)制服務(wù)器端的tnsnames.ora文件內(nèi)容,或者自己手動(dòng)編輯,格式如下:

數(shù)據(jù)源別名 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 主機(jī)名或IP)(PORT = 端口號(hào)))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = 數(shù)據(jù)庫服務(wù)名)

)

)

添加數(shù)據(jù)庫

打開 工具 - 連接到數(shù)據(jù)庫 ,數(shù)據(jù)源修改為 Oracle數(shù)據(jù)庫 下的 ODP.NET,托管驅(qū)動(dòng)程序 ,然后點(diǎn)擊 確定 ,打開 添加連接 窗口。

填寫用戶名,密碼并選擇數(shù)據(jù)源,然后測(cè)試連接,成功的話說明已經(jīng)連通,點(diǎn)擊確定即可。

使用虛擬機(jī)搭建數(shù)據(jù)庫的額外Tips

根據(jù)某網(wǎng)友分析,Oracle的監(jiān)聽器在通過1521端口連接后,會(huì)開啟另外一個(gè)新的隨機(jī)端口進(jìn)行數(shù)據(jù)通訊,因此使用NAT方式虛擬網(wǎng)卡可能會(huì)導(dǎo)致連接失敗。這種情況下,請(qǐng)使用橋接方式虛擬網(wǎng)卡,并在 net manager 中將 loaclhost 修改為虛擬機(jī)當(dāng)前的IP。重啟監(jiān)聽服務(wù)后,再試。

連接數(shù)據(jù)庫并使用

連接數(shù)據(jù)庫

Dim oradb As String = "User ID=system;Password=123456;Data Source=lol"

Dim conn As New OracleConnection(oradb)

conn.Open()

Dim sql As String = "create table xxx"

Dim sqlCom As New OracleCommand

sqlCom.CommandText = sql

sqlCom.Connection = conn

sqlCom.ExecuteNonQuery()

查詢數(shù)據(jù)

成功配置數(shù)據(jù)源之后,只需要向界面上拖動(dòng) DataGridView ,并進(jìn)行相關(guān)配置,選擇自己需要的表即可。

插入圖片的正確姿勢(shì)

圖片作為二進(jìn)制數(shù)據(jù)無法直接拼湊出SQL命令,我們需要使用 OracleCommand 自帶的 Parameters 功能。在SQL命令中用 :photo 來代表一個(gè)參量,然后使用

sqlCom.Parameters.Add("photo", OracleDbType.Blob, imgData.Length)

來分別指定這個(gè)參量的類型和所占空間大小

最后使用

sqlCom.Parameters(0).Value = imgData

來指定這個(gè)參量的值。

整個(gè)插入圖片過程的代碼如下:

Dim conn As New OracleConnection(oradb)

Dim imgData(0) As Byte

Dim ms As New System.IO.MemoryStream

PictureBox1.BackgroundImage.Save(ms, PictureBox1.BackgroundImage.RawFormat)

ReDim imgData(ms.Length - 1)

ms.Read(imgData, 0, ms.Length)

ms.Close()

conn.Open()

Dim sql As String = "insert into hero values" "(" TextBox1.Text ":photo" ")"

Dim sqlCom As New OracleCommand

sqlCom.CommandText = sql

sqlCom.Connection = conn

sqlCom.Parameters.Add("photo", OracleDbType.Blob, imgData.Length)

sqlCom.Parameters(0).Value = imgData

sqlCom.ExecuteNonQuery()

常見錯(cuò)誤

column not allowed here

數(shù)據(jù)類型不符,檢查對(duì)應(yīng)項(xiàng)目數(shù)據(jù)類型是否正確。

missing comma

命令格式不對(duì),檢查一下自己的SQL命令是否有錯(cuò)誤,特別是在有字符串的時(shí)候,需要使用 "" 來代表一個(gè)字符串中的 " 。

identifier is too long

標(biāo)識(shí)符過長(zhǎng)(不得超過30字符),不是非常明白原因,不過我取消掉insert命令中指定位置的部分之后,這個(gè)錯(cuò)誤消失了。

missing INTO keyword

缺少into關(guān)鍵字(手滑打成了inte),檢查一下自己的SQL命令是否有錯(cuò)誤。

vs中怎樣連接服務(wù)器上的oracle數(shù)據(jù)庫

本地機(jī)器tnsnames.ora

ORCL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = fuqiang)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

SERVICEORCL=

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 服務(wù)器IP)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

服務(wù)器tnsnames.ora

SERVICEORCL =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 服務(wù)器名稱)(PORT = 1521))

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

VS中連接代碼:

C# code

OracleConnection oracleConnection = new OracleConnection("Data Source=;User ID=system;Password=manager;Unicode=True");

這樣寫連接字符串,可以連接到本地orcl這個(gè)實(shí)例,沒有問題。但是想連接到服務(wù)器上的orcl實(shí)例,該如何寫連接字符串,其它地方都一樣吧,只是Data Source要怎么寫?

------回答---------

------其他回答(90分)---------

本地用Net Configuration Assistant 建個(gè)net服務(wù),連接倒服務(wù)器,net服務(wù)名為ORCL_SVR,確保連接正確,然后Data Source=ORCL_SVR即可。

------其他回答(5分)---------

把你QQ告訴我,我連過去給你看一下。

------其他回答(5分)---------

引用 9 樓 sorry0481 的回復(fù):

又搞了一會(huì),發(fā)現(xiàn)問題了,可是不知道怎么解決,服務(wù)器使用Net Configuration Assistant 測(cè)試連接自己,沒有問題??蛻舳巳肗et Configuration Assistant 測(cè)試連接服務(wù)器也沒有問題。可見已經(jīng)配置好了,但是在運(yùn)行Microsoft Visual Studio 2008代碼時(shí),連接字符串報(bào)錯(cuò):“ORA-12154: TNS: 無法解析指定的連接標(biāo)識(shí)符”,看了下斷點(diǎn),錯(cuò)誤是這個(gè):

ServerVersion “((System.Data.Common.DbConnection)(oracleConnection)).ServerVersion”引發(fā)了“System.InvalidOperationException”類型的異常 string {System.InvalidOperationException}

分析了下,應(yīng)該是版本的問題,可是我只安了一個(gè)11G,沒有安其它版本,結(jié)果想到,是不是安了Oracle Developer Tools for Visual Studio .NET這個(gè)引起的??哪位仁兄碰到過類似問題??該怎么解決???

你確定DB連上了?tnsnames 跟你的config檔設(shè)定是否一致?我也遇到過,血的教訓(xùn)啊。。。

------回答---------

------其他回答(90分)---------

本地用Net Configuration Assistant 建個(gè)net服務(wù),連接倒服務(wù)器,net服務(wù)名為ORCL_SVR,確保連接正確,然后Data Source=ORCL_SVR即可。

------其他回答(5分)---------

把你QQ告訴我,我連過去給你看一下。

------其他回答(5分)---------

引用 9 樓 sorry0481 的回復(fù):

又搞了一會(huì),發(fā)現(xiàn)問題了,可是不知道怎么解決,服務(wù)器使用Net Configuration Assistant 測(cè)試連接自己,沒有問題??蛻舳巳肗et Configuration Assistant 測(cè)試連接服務(wù)器也沒有問題??梢娨呀?jīng)配置好了,但是在運(yùn)行Microsoft Visual Studio 2008代碼時(shí),連接字符串報(bào)錯(cuò):“ORA-12154: TNS: 無法解析指定的連接標(biāo)識(shí)符”,看了下斷點(diǎn),錯(cuò)誤是這個(gè):

ServerVersion “((System.Data.Common.DbConnection)(oracleConnection)).ServerVersion”引發(fā)了“System.InvalidOperationException”類型的異常 string {System.InvalidOperationException}

分析了下,應(yīng)該是版本的問題,可是我只安了一個(gè)11G,沒有安其它版本,結(jié)果想到,是不是安了Oracle Developer Tools for Visual Studio .NET這個(gè)引起的??哪位仁兄碰到過類似問題??該怎么解決???

你確定DB連上了?tnsnames 跟你的config檔設(shè)定是否一致?我也遇到過,血的教訓(xùn)啊


網(wǎng)站名稱:vs怎么鏈接oracle vs2013鏈接器在哪
地址分享:http://weahome.cn/article/hpggde.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部