powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Работа с фалом DBF
25 сообщений из 33, страница 1 из 2
Работа с фалом DBF
    #32582949
Geenetix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно создать файл - базу данных(или таблицу) .dbf
А потом сделать к нему какой-то запрос используя ADO.NET ?

Я пытался сделать файл через Access. И потключить через ODBC, но не получилось что-то.

А вообще мне нужно как-то экспортировать базу из MySQL в файл и работать с ним серез .NET (ado.net)

Кто сталкивался с этим?
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32583133
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32583383
Geenetix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не, это просто подключение к серверу.
А мне нужно считывать данные с файла.
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32584659
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GeenetixКак можно создать файл - базу данных(или таблицу) .dbf
А потом сделать к нему какой-то запрос используя ADO.NET ?

Я пытался сделать файл через Access. И потключить через ODBC, но не получилось что-то.

А вообще мне нужно как-то экспортировать базу из MySQL в файл и работать с ним серез .NET (ado.net)

Кто сталкивался с этим?
Ну тут неплохо было бы на месте посмотреть какие проблемы у тебя. Так вот сходу не совсем понятно. Вот ты говоришь ДБФ, а какой? их куча разных - d-base разных версий, fox разных версий.
Ты определись сначала, что тебе нужно, какой ДБФник, а потом мы тебе подскажем.
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32584786
Geenetix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max Pro,

А чем они отличаются?

У нас вообще намечается проект "Каталог предприятий нашего города"
Всё должно быть на CD. Программа-клиент, которая будет читать данные из этого фалйа DBF. И будет возможность обновлять этот файл-базу через интернет, подключаясь к нашему MySQL серверу.

И хотелось бы чтоб к этому фалу можно было выполнять запросы для чтения данных.

Какой тип dbf подошёл бы лучше? И как это реализовывается?
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32584895
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пытался сделать файл через Access. И потключить через ODBC, но не получилось что-то.

А что конкретно не получилось? Я вообще mySQL не использую, а от фокса давно отошел. Ну по идее все должно работать через нетовский OleDB, или ODBC провайдер.


Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32585197
Geenetix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sa

Точно не помню.. кажется не удавалось подключить к просмотрщику баз данных в NET/

А как выполнить к такому файлу простой запрос?
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32585233
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GeenetixMax Pro,

А чем они отличаются?

У нас вообще намечается проект "Каталог предприятий нашего города"
Всё должно быть на CD. Программа-клиент, которая будет читать данные из этого фалйа DBF. И будет возможность обновлять этот файл-базу через интернет, подключаясь к нашему MySQL серверу.

И хотелось бы чтоб к этому фалу можно было выполнять запросы для чтения данных.

Какой тип dbf подошёл бы лучше? И как это реализовывается?
Ну разные форматы данных, отличаются внутренним представлением. Достаточно ковырнуть разные DBF и посмотреть из чего они состоят.
Ладно, если не знаешь что ещё сказать, то не надо, понял я и так.
Вот алгоритм твоих действий:
1. Создай пустые DBF с нужной тебе структурой. При этом можешь пользоваться чем угодно, даже Экселем. Советую формат d-Base 4 как самый ходовой.
2. Для чтения/записи этих DBF используй строку подключения ODBC и запросы SQL.
3. Дай права на папку с DBF для пользователя ASPNET.

Кстати можешь на своём SQL-сервере сделать ссылки на эти файлы через ODBC.
Да, вот ещё что. Все файлы DBF независимо от их вида читает последний драйвер ODBC FoxPro, скачай его с сайта Микрософта.

Удачи!
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32585238
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что вас интересует - создание dbf файла? и потом вставка в него каких либо данных?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32585307
Geenetix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max Pro , ясно, спасибо.

Sa
А что вас интересует - создание dbf файла? и потом вставка в него каких либо данных?


Да, нужно будет базу данных из MySQL, экспортировать в DBF файл или файлы(если один dbf может содержать только одну таблицу). А потом пользователь, работая с нашим приложением(клиентом), сможет читать данные с этого файла, и будет возможность обновить этот файл DBF через интернет,
для этого приложение подключится к серверу mySQL на нашем хостинге и обновит файл DBF.
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32585432
Фотография hDrummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может всё-таки лучше Access использовать?
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32585473
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может всё-таки лучше Access использовать?

Согласен с hDrummer

Из двух зол dbf или mdb. Я бы выбрал второе:

Плюсы mdb:
1) хоть какая то безопасность
2) все в одном файле


Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32585654
Geenetix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sa,
hDrummer,


мне не нужна безопасность и всё в одном файле,
это должно быть отдельное приложение, чтобы можно было разместить там ещё рекламные баннеры.

попробую вечером как посоветоал Max Pro.. только не понятно, какие классы и методы для этого использовать.. есть где-то документация по Ado.net + dbf?
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32585739
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для твоей задачи идеально подходит XML . имхо
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32585765
Geenetix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
profil для твоей задачи идеально подходит XML. имхо

А можно делать на XML делать что-то типа первичных ключей и связывать таким образом несколько таблиц-файлов XML?

Допустим файл :

Streets.xml
| id | name |

и

Main.xml
| id | name | street_id |


и на сколько медленее будут считоваться данные
(всего записей в главной таблице около 10 000)
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32586100
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне не нужна безопасность и всё в одном файле,
это должно быть отдельное приложение, чтобы можно было разместить там ещё рекламные баннеры

Когда я говорю что все в одном файле: то подразумеваю, все таблицы в одном файле (а не баннеры и графические файлы до кучи) ИМХО это очевидное преимущество, чем множество dbf, cdx и файл dbc (в случае использование DataBase в VFP).
Что еще касается фокса, по опыту уж очень там неустойчивые индексы, отрубили питания - 50 % то что индексы слетят, так что придется подумать и еще о методах реиндексации и проведения профилактических работ.

По поводу безопасности - не думаю что это избыточно, в любой задаче. И я не говорю о том что следует делать разграничение прав, речь здесь о том чтобы просто закрыть файл паролем, "исключив" тем самым изменение, копирование информации или изменение структуры БД - иными внешними средствами.



для твоей задачи идеально подходит XML. имхо

Все таки предназначение XML не в хранении информации, а в передачи ее. Поэтому не вижу смысла использовать здесь XML.


Вообщем с вас тестовый dbf файл с описанной структурой, и попробуем подсоединиться к нему при помощи ODBC Provider.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32586145
Geenetix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sa

Ну да, XML это же текстовый файл, он для большого количества информации не подходит..

Ок, тогда сейчас прийду домой, посмотрю что к чему, поробую сделать.
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32586835
Geenetix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Получается подключиться только к Access.
А через ODBC и OLEDB к DBF подключиться не удалось, но это потому что я не знаю как для этого должна выглядеть строка подключения.

С файлом mdb (access) могут быть какие-то проблемы?
(Допустим если у пользователя не установлен MSOffice)

Если нет, то он меня вполне устраивает.


Вот код:
Код: plaintext
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.
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;
using Console = System.Console;
using Microsoft.Data.Odbc;


namespace dbf
{
	public class Form1 : System.Windows.Forms.Form
	{
		private System.ComponentModel.Container components = null;

		public Form1()
		{

			InitializeComponent();
/// ACCESS! /////// :) 
			try
			{
				OleDbConnection cn = new OleDbConnection();
				cn.ConnectionString=  "Provider=Microsoft.Jet.OLEDB.4.0;"+@"Data  Source=E:\Projects\DataBases\stuff.mdb";

				cn.Open();
				cn.Close();
			}
			catch
			{
				MessageBox.Show("error oledb access!");
			}
/////// OLEDB //// :(
			try
			{
OleDbConnection cn = new OleDbConnection();
cn.ConnectionString =  "Provider=Microsoft dBase Driver;Data Source=localhost;Initial Catalog=stuff;";
cn.Open();
cn.Close();
			}
			catch
			{
				MessageBox.Show("error oledb!");
			}
////// ODBC ////// :(

				try
				{ 
					string MyConString = "DRIVER={Microsoft dBase Driver};" + "SERVER=localhost;" +	"DATABASE=stuff;";
					OdbcConnection MyConnection = new OdbcConnection(MyConString);    
					MyConnection.Open();
  					MessageBox.Show("\n !!! success, connected successfully !!!\n");    
					//Display connection information
					MessageBox.Show("\tDriver:" + MyConnection.Driver);
					MessageBox.Show("\tServerVersion:" + MyConnection.ServerVersion);
					MyConnection.Close();
				}
				catch {
				MessageBox.Show("error odbc");
				}

				///
			}
		protected override void Dispose( bool disposing )
		{
			if( disposing )
			{
				if (components != null) 
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}
		#region Windows Form Designer generated code
		private void InitializeComponent()
		{
			this.components = new System.ComponentModel.Container();
			this.Size = new System.Drawing.Size(300,300);
			this.Text = "Form1";
		}
		#endregion
		[STAThread]
		static void Main() 
		{
			Application.Run(new Form1());
            	}
	}
}



...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32586840
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Допустим если у пользователя не установлен MSOffice


Office не обязательно а вот MDAC нужен.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32586855
Geenetix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MDAC? а что это такое?
И можно будет его устанавливать автоматически при инсталяции моего приложения?
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32586867
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да все можно.

С большой вероятностью MDAC уже будет установлен на компьютере:

http://www.microsoft.com/downloads/details.aspx?FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c&DisplayLang=en

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32586981
Geenetix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок,
Всем спасибо за помошь!
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32586994
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GeenetixMDAC? а что это такое?
И можно будет его устанавливать автоматически при инсталяции моего приложения?
Если ты используешь ADO.NET, а не простой ADO, то:
1. У пользователя должен будет стоять только Браузер типа Микрософт Эксплорер или Нескейп и желательна поддержка JavaScript.
2. Никакой установки не потребуется.
Удачи!
P.S. MDAC я не знаю что такое.
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32587012
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если ты используешь ADO.NET, а не простой ADO, то:

Наверное вы хотели сказать "Если ты используешь ASP.NET "
Я могу использовать ADO.NET и в WinForms приложении, тогда у клиента должен стоять еще и NETFrameWork

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Работа с фалом DBF
    #32587014
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон,
я имел ввиду ADO.NET в рамках ASP.NET.
Конечно, если ты пишешь под Windows, то инсталяция потребуется. Но опять-таки ничего у пользователя не должно стоять зарание - всё поставит программа инсталяции.
Max Pro
...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Работа с фалом DBF
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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