我设计了一个连接到oracle 12c服务器的windows form应用程序。一切都很棒,直到我发现客户端有32位操作系统,而oracle c只能安装在64位操作系统上。
一周来,我一直在尝试调整我的应用程序,使之与oracle 11g配合使用,因为这个版本可以安装在我客户的计算机上,这正成为一项无望的任务。oracle 11g的ODBC没有oracle。ManagedDataAccess。包括dll和Oracle。DataAccess无法从我使用的存储过程中读取布尔数据类型。我要么修改我的所有过程,然后尝试修复与Oracle相关的所有问题。ManagedDataAccess。或从使用oracle 11g开发新应用程序开始。我在一个虚拟机上安装了32位windows 7,并且一直在使用它,从我的应用程序的一个非常小的版本开始,它我正在使用,但需要太多的时间!
我按照说明安装了packed,应用程序现在正在运行。唯一的问题是,我在添加Boolean类型的参数时出错,错误是:“Oracle”。数据访问。客户OracleDbType“”不包含布尔值的定义
这是我用来调用过程的代码:
tring constr = "DATA SOURCE=localhost;PASSWORD=kidzclubadministration;PERSIST SECURITY INFO=True;USER ID=C##KidzClub";
OracleConnection con = new OracleConnection(constr);
OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
con.Open();
cmd.CommandText = "get_admin_pass";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("pass", OracleDbType.NVarchar2);
cmd.Parameters["pass"].Direction = ParameterDirection.Input;
cmd.Parameters["pass"].Value = password;
cmd.Parameters.Add("done", OracleDbType.Boolean);
cmd.Parameters["done"].Direction = ParameterDirection.Output;
cmd.ExecuteNonQuery();
准确的错误句子是:
Error 2 'Oracle.DataAccess.Client.OracleDbType' does not contain a definition for 'Boolean' C:\Users\Jad-HP\Desktop\Windows Application\WindowsFormsApplication1\WindowsFormsApplication1\Form5.cs 44 53 WindowsFormsApplication1
我去了OracleDbType定义,但找不到布尔的定义:
#region Assembly Oracle.DataAccess.dll, v2.111.7.20
// C:\app\Jad-HP\product\11.1.0\client_2\ODP.NET\bin\2.x\Oracle.DataAccess.dll
#endregion
using System;
namespace Oracle.DataAccess.Client
{
public enum OracleDbType
{
BFile = 101,
Blob = 102,
Byte = 103,
Char = 104,
Clob = 105,
Date = 106,
Decimal = 107,
Double = 108,
Long = 109,
LongRaw = 110,
Int16 = 111,
Int32 = 112,
Int64 = 113,
IntervalDS = 114,
IntervalYM = 115,
NClob = 116,
NChar = 117,
NVarchar2 = 119,
Raw = 120,
RefCursor = 121,
Single = 122,
TimeStamp = 123,
TimeStampLTZ = 124,
TimeStampTZ = 125,
Varchar2 = 126,
XmlType = 127,
Array = 128,
Object = 129,
Ref = 130,
BinaryDouble = 132,
BinaryFloat = 133,
}
}
虽然在我使用oracle 12c开发的Visual studio中使用相同的定义时,我对布尔值有一个定义:
#region Assembly Oracle.DataAccess.dll, v4.121.1.0
// D:\app\Jad-HP\product\12.1.0\client_2\ODP.NET\bin\4\Oracle.DataAccess.dll
#endregion
using System;
namespace Oracle.DataAccess.Client
{
public enum OracleDbType
{
BFile = 101,
Blob = 102,
Byte = 103,
Char = 104,
Clob = 105,
Date = 106,
Decimal = 107,
Double = 108,
Long = 109,
LongRaw = 110,
Int16 = 111,
Int32 = 112,
Int64 = 113,
IntervalDS = 114,
IntervalYM = 115,
NClob = 116,
NChar = 117,
NVarchar2 = 119,
Raw = 120,
RefCursor = 121,
Single = 122,
TimeStamp = 123,
TimeStampLTZ = 124,
TimeStampTZ = 125,
Varchar2 = 126,
XmlType = 127,
Array = 128,
Object = 129,
Ref = 130,
BinaryDouble = 132,
BinaryFloat = 133,
Boolean = 134,
}
}
除了修改所有过程并替换所有布尔变量之外,还有其他解决方案吗?
您可以使用Oracle托管数据访问DLL与11g数据库通信。我现在在生产中有一个这样做的应用程序。
我不能说我已经安装了Oracle 12c数据库,甚至也没有12c Oracle客户端,所以我不能说两者是否都需要32位客户端。我从NuGet获得了Oracle托管数据访问DLL,并且我通过在连接字符串中使用连接描述符而不是TNS名称来避免对Oracle客户端的需求。我不明白为什么您不能在您的应用程序中使用这种方法。
同样的规则也将应用于destination_num。表中的现有值需要替换为屏蔽值。我读过一些关于Oracle12c中数据编辑的文章,但提到了它,因为我们只能选择屏蔽数据,而不能选择更新。
我正在从事一个大学项目,我打算使用oracle数据库作为后端,我选择使用django作为编程语言。我已成功地将django与oracle 12c连接,并已安装了cx_oracle。但是当我尝试运行命令时 出现以下错误。 Windows PowerShell版权所有(C)微软公司。版权所有。 PS C:\Users\Hp\Desktop\onlinepharma 上述异常是以下异常的直接原因: 回溯
有一个包含表示某些点的类型列的表。稍后将执行像“显示距离x内的所有其他点”这样的空间查询。通过将一些数据泵送到导入表后,如果业务键仍然存在,我将在合并时将这些数据集带入基表。 我的应用程序是一个使用< code>hibernate 5.0.9、< code > hibernate-spatial 5 . 0 . 9 final 、Oracle12c数据库和hibernate.dialect的可执行
我正在使用FFMPeg(版本FFMPeg-20170330-ad7aff0-win64-static)将RTSP转换为。m3u8。 命令是: ffmpeg-rtsp_传输tcp-i{rtsp}-c:v libx264-crf 35-预设超快-maxrate 3M-bufsize 300k-r 10-g 20-movflags faststart-tune zerolatency-hls_时间1-h
如果我在512宽的SIMD向量中有以下双精度,例如在Xeon Phi寄存器中: 是否可以将其制成: 使用单个指令?此外,由于双打没有按位内部函数,这仍然是实现上述目标的有效方法吗?