我想构建一个可以将Sitecore中的数据保存到oracle数据库的解决方案但是在google上搜索后,我还没有想到这样做。每个人都可以帮助我吗?
答案 0 :(得分:1)
默认情况下,Sitecore XP 8 NOT 支持Oracle。
仅旧的Sitecore版本支持Oracle。
有关详细信息,请参阅Sitecore Compatibility Table。
还有一个星号说明:
如果您需要对Sitecore 7.5或更高版本的Oracle支持,请通过 oraclesupport@sitecore.net 与我们联系。
答案 1 :(得分:1)
如果您只想保存自定义内容...将表单信息说成Oracle表格,那么通常情况下C#编码就是正常的。
1)您需要在connectionstrings.config文件或web.config中使用连接字符串,具体取决于您是否将连接字符串与外部文件隔离:
<add name="oracle_registration" connectionString="Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=99.999.999.999)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=WEBDEV))); User Id=userid; Password=userpwd" />
2)确保您拥有Oracle客户端DLL并在项目中引用:
using Oracle.ManagedDataAccess.Client;
3)简单的Oracle连接和查询执行示例:
private OracleConnection _connection;
if (null == _connection)
{
_connection = new OracleConnection(this.ConnectionString);
_connection.Open();
}
using (OracleCommand cfc = _connection.CreateCommand())
{
cfc.CommandText = "INSERT INTO SCHEMA.TABLE (FORM_NUMBER, FORM_DATA) VALUES (:1, :2)";
cfc.Parameters.Add(new OracleParameter("paramFormNumber", OracleDbType.Int64, "Number", ParameterDirection.Input));
cfc.Parameters.Add(new OracleParameter("paramFormData", OracleDbType.Varchar2, "Data", ParameterDirection.Input));
cfc.ExecuteNonQuery();
}
希望这有帮助。