oracle怎么连接vs,oracle内连接
如何使用vs2005连接oracle数据库
你既然安装了oracle 10g,而且能正常使用oracle 10g,那么我以在你自己的机器上运行oracle与vs2005开发的网站来回答你。
公司主营业务:成都网站设计、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联公司推出延平免费做网站回馈大家。
1、eoms不是数据库,只是数据库实例
你之所以使用pl/sql developer能访问oracle10g,是因为你的机器环境变量在安装时已经被oracle修改了,所以你通过pl/sql developer能访问。
一般oracle的配置文件在:oracle安装上当\NETWORK\ADMIN\tnsnames.ora
你可使用记事本打开这个文件,大概内容如下:
EOMS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracleservnameorip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = eoms)
)
)
2、vs2005开发连接oracle的程序
首页,从C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727将System.Data.OracleClient.dll拷贝出来,推荐放在开发的项目之下
其次,将System.Data.OracleClient.dll引用进入需要操作数据库的相关项目下去
再次,要需要时引用using System.Data.OracleClient;
最后,关于连接对象的编写示例如下:
private static OracleConnection conn = new OracleConnection("Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=eoms)));User Id=username;Password=userpassword");
public static void Open()
{
if(conn.State==ConnectionState.Closed) conn.Open();
}
public static void Close()
{
if(conn.State== ConnectionState.Open) conn.Close();
}
其它的就不写了,这两步是最重要的,其它的操作与你之前开发过的其它项目中操作数据库是一样的。
VS2008如何远程连接oracle数据库?高分
远程连接字符串应该是做这个DB的人设置好,然后告诉你的.
比如我做了一个库叫TEST,并且这个库的IP是192.168.1.100,
那么我用ORACLE自带的NET CONFIGURATION ASSISTANT建立一个NET SEVERS,一路默认设置,那么连接字符串就是TEST@192.168.1.100,当然,如果我愿意,我可以把连接字符串改成NEWTEST,别人是不会知道的
1、2、3版本是不同的库环境。必须服务器装下3.5的框架,然后iis设置下asp.net版本就可以了。
如果你那边没这类主机,我这边有做的,可百度HI我。
visual怎么连接oracle数据库
宿主机: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=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()
查询数据
成功配置数据源之后,只需要向界面上拖动 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命令是否有错误。
vs中怎样连接服务器上的oracle数据库
本地机器tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = fuqiang)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
SERVICEORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器IP)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
服务器tnsnames.ora
SERVICEORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 服务器名称)(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这个实例,没有问题。但是想连接到服务器上的orcl实例,该如何写连接字符串,其它地方都一样吧,只是Data Source要怎么写?
------回答---------
------其他回答(90分)---------
本地用Net Configuration Assistant 建个net服务,连接倒服务器,net服务名为ORCL_SVR,确保连接正确,然后Data Source=ORCL_SVR即可。
------其他回答(5分)---------
把你QQ告诉我,我连过去给你看一下。
------其他回答(5分)---------
引用 9 楼 sorry0481 的回复:
又搞了一会,发现问题了,可是不知道怎么解决,服务器使用Net Configuration Assistant 测试连接自己,没有问题。客户端全用Net Configuration Assistant 测试连接服务器也没有问题。可见已经配置好了,但是在运行Microsoft Visual Studio 2008代码时,连接字符串报错:“ORA-12154: TNS: 无法解析指定的连接标识符”,看了下断点,错误是这个:
ServerVersion “((System.Data.Common.DbConnection)(oracleConnection)).ServerVersion”引发了“System.InvalidOperationException”类型的异常 string {System.InvalidOperationException}
分析了下,应该是版本的问题,可是我只安了一个11G,没有安其它版本,结果想到,是不是安了Oracle Developer Tools for Visual Studio .NET这个引起的??哪位仁兄碰到过类似问题??该怎么解决???
你确定DB连上了?tnsnames 跟你的config档设定是否一致?我也遇到过,血的教训啊。。。
------回答---------
------其他回答(90分)---------
本地用Net Configuration Assistant 建个net服务,连接倒服务器,net服务名为ORCL_SVR,确保连接正确,然后Data Source=ORCL_SVR即可。
------其他回答(5分)---------
把你QQ告诉我,我连过去给你看一下。
------其他回答(5分)---------
引用 9 楼 sorry0481 的回复:
又搞了一会,发现问题了,可是不知道怎么解决,服务器使用Net Configuration Assistant 测试连接自己,没有问题。客户端全用Net Configuration Assistant 测试连接服务器也没有问题。可见已经配置好了,但是在运行Microsoft Visual Studio 2008代码时,连接字符串报错:“ORA-12154: TNS: 无法解析指定的连接标识符”,看了下断点,错误是这个:
ServerVersion “((System.Data.Common.DbConnection)(oracleConnection)).ServerVersion”引发了“System.InvalidOperationException”类型的异常 string {System.InvalidOperationException}
分析了下,应该是版本的问题,可是我只安了一个11G,没有安其它版本,结果想到,是不是安了Oracle Developer Tools for Visual Studio .NET这个引起的??哪位仁兄碰到过类似问题??该怎么解决???
你确定DB连上了?tnsnames 跟你的config档设定是否一致?我也遇到过,血的教训啊
vs2022如何连接oracle
vs2022如何连接oracle的解决方法如下:
本机环境:64位win7,安装了64位的oracle桌面类
服务器环境:64位windows server 2008,64位oracle服务器端
问题:本机用sql developer连数据库没有问题,winform程序连接也没有问题,但是web程序连接oracle失败,报错:“尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。“
解决过程:在网上查找原因,说是因为VS的webDe.webServer.exe 是一个32位的进程,所以连不上64位数据库,解决方法提了很多,包括把项目的属性里的生成选项里的目标平台:改为x86,web项里的服务器改成iis不使用vs自带的web deleloper ment 服务,修改path环境变量等,但是都没管用。
最终的解决办法:安装32位oracle客户端(win32_11gR2_client.zip),但是这样一来winform程序又连不上数据库了,得把winform程序的项目属性里生成选项的目标平台改成x86,这样就都行了。
本文标题:oracle怎么连接vs,oracle内连接
新闻来源:http://cdiso.cn/article/heoppj.html