java学习基地

微信扫一扫 分享朋友圈

已有 45798 人浏览分享

【Oracle Developer Tools for Visual Studio 2015 v122010】

  [复制链接]
45798 290

开辟情况

宿主机:Win10 + VS2015 + ODP.Net for VS2015 假造机:Win7 + Oracle 11g + 桥接

设置ODP.Net

起首下载 Oracle Developer Tools for Visual Studio 2015 ,下载此文件需求注册Oracle社区账号并承受相干的和谈,此文件供给了以下组件:

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
下载完成后运转MSI装置法式停止装置,装置完成后会主动注册VS2015当编闭插件,从头启动VS2015后将会看到Oracle当编闭号令,好比SQL *PLUS撑持涤耄同时增加数据库时也能看到响应狄住项。

免房砺载地点:【复兴可睹】

旅客,假如您要检察本帖躲藏内容请复兴


ODP.Net撑持一切Oracle版本,因而下载时只需求留意VS的版本便可。

设置tnsnames.ora

ODP.Net默许利用装置目次下的tnsnames.ora,若装置目次正在Program Files下,能够会碰到无权限等成绩,此时利用办理员权限翻开号令止,强到洞喀目次并利用notepad编纂。
赶钙效劳器真个tnsnames.ora文件内容,大概本人脚动编纂,格局以下:

<数据源别号> =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <主机名或IP>)(PORT = <端标语>))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <数据库效劳名>)
    )
  )

增加数据库

翻开东西-毗连到数据库,数据源修正为Oracle数据库下的ODP.NET,凸能驱动法式,然后面击肯定,

翻开增加毗连窗心。

增加毗连 挖写映雩名,暗码并挑选数据源,然后测试毗连,胜利的话阐明曾经连通,面击肯定便可。

利用假造机拆建数据库的分外Tips 按照慕兵友阐发,Oracle的监听器正在经由过程1521端心毗连后,会开启别的一个新的随机端心停止数据通信,因而利用NAT方法假造网卡能够会招致毗连失利。这类状况下,请利用桥接方法假造网卡,并正在net manager中将loaclhost修正为假造机当前的IP。制紧监听效劳后,再试。
毗连数据库并利用

毗连数据库
Dim oradb As String = "User ID=systemassword=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()

查询数据

胜利设置数据韵府后,只需求背界里上拖动DataGridView,并停止相干设置,挑选本人需求的表便可。

插进图片的┞俘确姿式
图片做为两进造数据没法间接拼集出SQL号令,我们需求利用OracleCommand自带的Parameters功用。正在SQL号令顶用:photo去代表一个参量,然后利用

sqlCom.Parameters.Add("photo", OracleDbType.Blob, imgData.Length)
去别离指定那个参量的范例战所占空间巨细

最初利用

sqlCom.Parameters(0).Value = imgData

去指定那个参量的值。

全部插进图片历程的代码以下:

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()

常睹毛病

column not allowed here
数据范例没有符,查抄洞喀项目数据范例能否准确。

missing comma
号令格局不合错误,查抄一下本人的SQL号令能否有毛病,出格实邻有字符串的时分,需求利用""去代表一个字符串中的"。

identifier is too long
标识符太长(没有得超越30字符),没有长短常大白缘故原由,不外我打消失落insert号令中指定地位的部门以后,那个毛病消逝了。

missing INTO keyword
短少into枢纽字(脚滑挨成了inte),查抄一下本人的SQL号令能否有毛病。

cannot insert NULL into (“SYSTEM”.”HERO”.”HEROCATEGORYID”)
那些项皆指定了非0值,故不克不及没有赋值,为洞喀项目赋值便可。

装置好后参照oracle的装置目次下的 tnsnames.ora文件的最初冶修正Oracle Developer Tools for Visual Studio 2015装置目次下的 tnsnames.ora文件的最初一 段(间接赶钙)我的以下ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
) F:\app\sky\product\11.2.0\dbhome_1\NETWORK\ADMIN

3.翻开vs会发明东西选项内里多了sqlplus等roacle的内容,正在项目标援用上面击左键增加援用-扩大-挑选Oracle.ManageDataAccess
ManageDataAccess笔从前的DataAccess更好用,不消思索64位32位的成绩


举报 使用道具

回复

评论 290

xiaojun123  vip终身会员  发表于 2020-12-24 05:14:36 | 显示全部楼层
为保住菊花,这个一定得回复!

举报 使用道具

回复
激励99  vip年度会员  发表于 2021-1-5 08:32:37 | 显示全部楼层
1v1飘过

举报 使用道具

回复
蓝色之海  vip终身会员  发表于 2021-1-8 22:28:48 | 显示全部楼层
相当不错,感谢无私分享精神!

举报 使用道具

回复
花落花  vip年度会员  发表于 2021-1-13 22:52:06 | 显示全部楼层
支持,楼下的跟上哈~

举报 使用道具

回复
文静  vip终身会员  发表于 2021-1-14 08:20:37 | 显示全部楼层
支持一下

举报 使用道具

回复
梦剑  vip终身会员  发表于 2021-1-14 15:48:23 | 显示全部楼层
看起来不错

举报 使用道具

回复
久久的心  vip终身会员  发表于 2021-1-14 17:18:57 | 显示全部楼层
路过,支持一下啦

举报 使用道具

回复
小奇葩  vip终身会员  发表于 2021-1-14 19:36:39 | 显示全部楼层
回个帖子,下班咯~

举报 使用道具

回复
小芒果  vip终身会员  发表于 2021-1-15 06:25:26 | 显示全部楼层
有竞争才有进步嘛

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

129

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Archiver|手机版|java学习基地 |网站地图

GMT+8, 2021-6-23 07:45 , Processed in 0.701127 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.