如何将xamarin表单应用程序与oracle远程数据库12c版本2连接?

时间:2018-03-07 20:20:30

标签: c# oracle xamarin server intranet

我正在研究xamarin应用程序试图将这个xamarin pcl(可移植类lib)项目与使用12.2 oracle数据库的远程数据库服务器连接起来,我找到一篇关于将c#连接到oracle数据库服务器的文章,基于我的代码就像跟着......

xaml代码:

 <?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:datatest"
             x:Class="datatest.MainPage"
             Title="main">
    <StackLayout>
        <Button Clicked="btn_clicked" Text="click me" />
    </StackLayout>

</ContentPage>

c#c​​ode

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
using Oracle.DataAccess.Client;
using System.Data;

namespace datatest
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }
        string oradb = "Data Source=(DESCRIPTION =" + "(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))" + "(CONNECT_DATA =" + "(SERVER = DEDICATED)" + "(SERVICE_NAME = orcl.tdsb.on.ca)));" + "User Id= system;Password=<strong>Patel218</strong>;";


        public void btn_click(object sender,EventArgs e) {

            OracleConnection conn = new OracleConnection(oradb);
            conn.Open();
            if (conn.State == ConnectionState.Open)
            {
                DisplayAlert("connected", "wow", "ok");
            }
            else
            {
                DisplayAlert("sorry", "sorry", "ok");
            }

            // Close and Dispose OracleConnection object  
            conn.Close();
            conn.Dispose();

            if (conn.State == ConnectionState.Closed)
            {
                DisplayAlert("disconnected", "wow", "ok");
            }
            else
            {
                DisplayAlert("sorry", "sorry", "ok");
            }
        }
    }
}

我已经仔细检查过每一个可能的东西,它仍然要求我提供system.drawing和实体框架6.0.0,我试图进入但是它还没有准备好支持一些程序集或一些NuGet包装现在还有其他任何方式将这种xamarin应用程序连接到远程oracle数据库,该数据库将通过PC上的远程服务器使用本地区域的INTRANET连接与应用程序连接。

1 个答案:

答案 0 :(得分:2)

创建REST服务,不要直接连接到外部数据库。重新思考你对安全性的逻辑思考(所有授权信息都将在反编译的Android应用程序中提供),可扩展性等等。