powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема с выводом контента на хостинге с базы Oracle
1 сообщений из 1, страница 1 из 1
Проблема с выводом контента на хостинге с базы Oracle
    #37602772
Fareastaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте уважаемые разработчики! Создаю первый тренировочный сайт на asp.net c использованием Oracle , возник вопрос по размещению сайта на хостинге. На локальной машине все работает прекрасно но при копировании сайта на хостинг сайт не получает связь с базой данных Oracle. Сам сайт и база данных размещены на разных хост серверах.
За вывод контента на страницы отвечает таблица "content" на одной из страниц после вывода контента есть
dropdownist-ы в которой выбирается производитель после выбора которого появляется следующий dropdownlist со списком товара производителя (т.е. происходит подключение ко второй таблице "Manufacturers")
Web.config имеет следующие строки:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?xml version="1.0"?>
<configuration>
  <connectionStrings>
    <add name="MyOracle" connectionString="DATA SOURCE=*******;PASSWORD=*******;USER ID=*******" providerName="System.Data.OracleClient"/>
  </connectionStrings>
  <system.web>
    <pages theme="red">
      
    </pages>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        
        <add assembly="System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>
  </system.web>
</configuration>



Заранее зная что на хостинге нету системных dll я подключаю библиотеку System.Data.OracleClient.dll предварительно создав в структуре папок сайта системную папку bin и поместив туда эту .dll

1. Коннекта данных не происходит, контент из таблицы content не передается на то есть - пустые страницыю
2. На одной из страниц где происходит подключение к второй таблице "Manufacturers" в dropdownlist-ах появляется:

Request for the permission of type 'System.Data.OracleClient.OraclePermission, System.Data.OracleClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed


Подключение до второй таблицы Manufacturers происходит в файле класса:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

using System.Collections.Generic;
using System.Web.Configuration;


using System.Data.OracleClient;


public class clsTileConnected
{
    private static readonly string _connectionString;
    static clsTileConnected()
    { _connectionString = WebConfigurationManager.ConnectionStrings["MyOracle"].ConnectionString; }

    
    /*==========================
     * GET ALL tile Manufacturers
     * ===========================*/

    public List<ppManufacturers> GetTileManufacturers()
    {
        List<ppManufacturers> objAll = new List<ppManufacturers>();
        OracleConnection conn = new OracleConnection(_connectionString);
        OracleCommand cmd = new OracleCommand("SELECT * FROM Manufacturers", conn);

        try
        {
            conn.Open();
            OracleDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                ppManufacturers objPP = new ppManufacturers();
                objPP.ppID = int.Parse(dr["manufacturer_id"].ToString());
                objPP.ppManufacturerTitle = dr["title"].ToString();
                objPP.ppManufacturerOrigin = dr["origin"].ToString();
                objAll.Add(objPP);
             }
            return objAll;
       }
        catch (Exception ex)
        {
        
            objAll.Clear();
            ppManufacturers objPP = new ppManufacturers();
            objPP.ppID = 0;
            objPP.ppManufacturerTitle = ex.Message.ToString();
            objAll.Add(objPP);
            return objAll;
          }
        finally
        {conn.Close();}
    }


    /*================================
     * Get all tile by ManufacturerID
     * ===============================*/

    public List<ppTiles> GetTileByManufacturerID(int _id)
    {
        List<ppTiles> objAll = new List<ppTiles>();
        OracleConnection conn = new OracleConnection(_connectionString);
        OracleCommand cmd = new OracleCommand("SELECT * FROM tiles WHERE manufacturer_id=:parID", conn);
        cmd.Parameters.AddWithValue(":parID", _id);
        try
        {
            conn.Open();
            OracleDataReader dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                ppTiles objPP = new ppTiles();
                objPP.ppID = int.Parse(dr["tile_id"].ToString());
                objPP.ppTileTitle = dr["tile_title"].ToString();
                objAll.Add(objPP);
            }
            return objAll;
        }
        catch (Exception ex)
        {
            objAll.Clear();
            ppTiles objPP = new ppTiles();
            objPP.ppID = 0;
            objPP.ppTileTitle = ex.Message.ToString();
            objAll.Add(objPP);
            return objAll;
        }
        finally
        { conn.Close(); }

    }

    /*=====================
     * Get all TILE by ID
     * ====================*/

    public List<ppTiles> GetTileByID(int _id)
    {
        List<ppTiles> objAll = new List<ppTiles>();
        OracleConnection conn = new OracleConnection(_connectionString);
        OracleCommand cmd = new OracleCommand("SELECT * FROM TILES WHERE tile_id = :parID", conn);
        cmd.Parameters.AddWithValue(":parId", _id);

        try
        {
            conn.Open();
            OracleDataReader dr = cmd.ExecuteReader();

            while (dr.Read())
            {
                ppTiles objPP = new ppTiles();
              objPP.ppID = int.Parse(dr["tile_id"].ToString());
              objPP.ppTileTitle = dr["tile_title"].ToString();
              objPP.ppTileType = dr["tile_type"].ToString();
              objPP.ppTileApplication = dr["application"].ToString();
              objPP.ppTileMaterial = dr["material"].ToString();
              objPP.ppTileStyle = dr["style"].ToString();
              objPP.ppTileColor = dr["color"].ToString();
              objPP.ppTileWidth = int.Parse(dr["width"].ToString());
              objPP.ppTileHeight = int.Parse(dr["height"].ToString());
              objPP.ppTileThickness = double.Parse(dr["thickness"].ToString());
                
                objPP.ppTilePrice = int.Parse(dr["price"].ToString());
              objAll.Add(objPP);
            }
            return objAll;

        }
        catch (Exception e)
        {
            e.Message.ToString();
            return null;
        }

        finally
        {
            conn.Close();
        }
         
                
   }

}



Пробую другой метод:

подключая Oracle.DataAccess.Client; в web.config скопировав Oracle.DataAccess.dll в тот же системный каталог bin добавив reference и заменяя его в файле класса с using System.Data.OracleClient; на using Oracle.DataAccess.Client;

на это визуал студия подчеркивает строки cmd.Parameters.AddWithValue(":parID", _id); говоря 'Oracle.DataAccess.Client.OracleParameterCollection' does not contain a definition for 'AddWithValue' and no extension method 'AddWithValue' accepting a first argument of type 'Oracle.DataAccess.Client.OracleParameterCollection' could be found (are you missing directive or an assembly reference?)

Почему это происходит собственно и каким образом выдать контент как на страницы так и в дропдаун листы на одной из страниц? Разве в Oracle.DataAccess.dll нету этого метода AddWithValue? как можно это победить или заменить cmd.Parameters.AddWithValue(":parID", _id); на что-то другое?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема с выводом контента на хостинге с базы Oracle
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]