①.、eoms不是数据库,只是数据库实例
你之所以使用pl/sql developer能访问oracle10g,是因为你的机器环境变量在安装时已经被oracle修改了,所以你通过pl/sql developer能访问.
一般oracle的配置文件在:oracle安装上当\NETWORK\ADMIN\tnsnames.ora
你可使用记事本打开这个文件,大概内容如下:
EOMS =
(DESCRIPTION =
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = eoms)
)
其次,将System.Data.OracleClient.dll引用进入需要操作数据库的相关项目下去
再次,要需要时引用using System.Data.OracleClient;
最后,关于连接对象的编写示例如下:
public static void Open()
{
if(conn.State==ConnectionState.Closed) conn.Open();
}
public static void Close()
if(conn.State== ConnectionState.Open) conn.Close();
其它的就不写了,这两步是最重要的,其它的操作与你之前开发过的其它项目中操作数据库是一样的.
远程连接字符串应该是做这个DB的人设置好,然后告诉你的.
如果你那边没这类主机,我这边有做的,可百度HI我.
配置ODP.Net
配置tnsnames.ora
数据源别名 =
(ADDRESS = (PROTOCOL = TCP)(HOST = 主机名或IP)(PORT = 端口号))
(SERVICE_NAME = 数据库服务名)
添加数据库
使用虚拟机搭建数据库的额外Tips
连接数据库并使用
连接数据库
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 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()
Dim sql As String = "insert into hero values" "(" TextBox1.Text ":photo" ")"
常见错误
column not allowed here
数据类型不符,检查对应项目数据类型是否正确.
missing comma
命令格式不对,检查一下自己的SQL命令是否有错误,特别是在有字符串的时候,需要使用 "" 来代表一个字符串中的 " .
identifier is too long
missing INTO keyword
缺少into关键字(手滑打成了inte),检查一下自己的SQL命令是否有错误.
本地机器tnsnames.ora
ORCL =
(SERVICE_NAME = orcl)
SERVICEORCL=
服务器tnsnames.ora
SERVICEORCL =
(ADDRESS_LIST =
VS中连接代码:
C# code
OracleConnection oracleConnection = new OracleConnection("Data Source=;User ID=system;Password=manager;Unicode=True");
这样写连接字符串,可以连接到本地orcl这个实例,没有问题.但是想连接到服务器上的orcl实例,该如何写连接字符串,其它地方都一样吧,只是Data Source要怎么写?
------回答---------
本地用Net Configuration Assistant 建个net服务,连接倒服务器,net服务名为ORCL_SVR,确保连接正确,然后Data Source=ORCL_SVR即可.
把你QQ告诉我,我连过去给你看一下.
ServerVersion "((System.Data.Common.DbConnection)(oracleConnection)).ServerVersion"引发了"System.InvalidOperationException"类型的异常 string {System.InvalidOperationException}
分析了下,应该是版本的问题,可是我只安了一个11G,没有安其它版本,结果想到,是不是安了Oracle Developer Tools for Visual Studio .NET这个引起的?哪位仁兄碰到过类似问题?该怎么解决?
你确定DB连上了?tnsnames 跟你的config档设定是否一致?我也遇到过,血的教训啊...
你确定DB连上了?tnsnames 跟你的config档设定是否一致?我也遇到过,血的教训啊
以上就是土嘎嘎小编为大家整理的oracle怎么连接vs相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!