продолжим ПРО Ado
Можно ли используя стандартные компоненты ADO в Builder'e. Подконектится (например через TADOConnection) к БД, сделанной в Accesse и динамически узнать количество таблиц в ней и получить их имена?? Как??
:roll:
И второй вопросик. Неподскажите ли ссылки в WWW или на книги (или можно код подкинуть) где можно почерпнуть как в ADO можно конектится к удаленной по сети БД, зная IP и номер порта, желательно без предварительных настроек в BDE, ODBC и пр, т.е. просто взаимодействие друх программ на стороне сервера и клиената.
Цитата:
Originally posted by nirvikalpa
Привет.
Можно ли используя стандартные компоненты ADO в Builder'e. Подконектится (например через TADOConnection) к БД, сделанной в Accesse и динамически узнать количество таблиц в ней и получить их имена?? Как??
:roll:
И второй вопросик. Неподскажите ли ссылки в WWW или на книги (или можно код подкинуть) где можно почерпнуть как в ADO можно конектится к удаленной по сети БД, зная IP и номер порта, желательно без предварительных настроек в BDE, ODBC и пр, т.е. просто взаимодействие друх программ на стороне сервера и клиената.
Привет.
Можно ли используя стандартные компоненты ADO в Builder'e. Подконектится (например через TADOConnection) к БД, сделанной в Accesse и динамически узнать количество таблиц в ней и получить их имена?? Как??
:roll:
И второй вопросик. Неподскажите ли ссылки в WWW или на книги (или можно код подкинуть) где можно почерпнуть как в ADO можно конектится к удаленной по сети БД, зная IP и номер порта, желательно без предварительных настроек в BDE, ODBC и пр, т.е. просто взаимодействие друх программ на стороне сервера и клиената.
а при чем ADO к удаленной базе ?
Кто будет сервером ? Если хочется обойтись без BDE так ведь компоненты InterBase, dbExpress и так без нее обходятся.
Цитата:
Originally posted by nirvikalpa
Привет.
Можно ли используя стандартные компоненты ADO в Builder'e. Подконектится (например через TADOConnection) к БД, сделанной в Accesse и динамически узнать количество таблиц в ней и получить их имена?? Как??
:roll:
Привет.
Можно ли используя стандартные компоненты ADO в Builder'e. Подконектится (например через TADOConnection) к БД, сделанной в Accesse и динамически узнать количество таблиц в ней и получить их имена?? Как??
:roll:
Код:
dmLoad->adoConnect->GetTableNames(StringList);
Цитата:
Originally posted by nirvikalpa
И второй вопросик. Неподскажите ли ссылки в WWW или на книги (или можно код подкинуть) где можно почерпнуть как в ADO можно конектится к удаленной по сети БД, зная IP и номер порта, желательно без предварительных настроек в BDE, ODBC и пр, т.е. просто взаимодействие друх программ на стороне сервера и клиената.
И второй вопросик. Неподскажите ли ссылки в WWW или на книги (или можно код подкинуть) где можно почерпнуть как в ADO можно конектится к удаленной по сети БД, зная IP и номер порта, желательно без предварительных настроек в BDE, ODBC и пр, т.е. просто взаимодействие друх программ на стороне сервера и клиената.
Сформулируй нормально вопрос - что тебе конкретно надо. Взаимодействие "друх программ на стороне сервера и клиената" происходит через сокеты по заранее определенному протоколу. Что бы получить ссыкли введи ключевые слова и ты их много получишь. Тебе это помогло?
...а при чем ADO к удаленной базе? - в самом деле непричем =), просто нужно через ADO.
Более конкретно про вопрос с удаленной БД.
Кладем на удаленной машине БД (some.mdb), клиент должен подключаться к ней. (я ниже пробую через MS Remote) Хочется повозможности чтобы не нужно было создовать серверного приложения и желательно использовать у книента ADO. Это возможно??? Можно допустить настройку в ODBC источника данных на стороне сервера... Код для клиента приведен ниже:
Код:
AnsiString DB_Name = DBNam->Text;
AnsiString IP = IPAddr->Text;
pADOConnection->Connected = false;
pADOConnection->IsolationLevel = ilSerializable;
pADOConnection->LoginPrompt = false;
pADOConnection->Mode = cmReadWrite;
AnsiString CS;
CS += "Provider=MS Remote;";
CS += "Remote Provider=Microsoft.Jet.OLEDB.4.0;";
CS += "Server=" + IP + ";";
CS += "Remote Server=" + IP + ";";
CS += "DataSourse=" + DB_Name + ";";
CS += "User ID=Admin;";
CS += "Mode=ReadWrite;";
CS += "Extended Properties=\"\";";
pADOConnection->ConnectionString = CS;
pADOConnection->Connected = true;
// уже настроенный на существующую таб. и на ADOConnection
ADOTable1->Active = true;
AnsiString IP = IPAddr->Text;
pADOConnection->Connected = false;
pADOConnection->IsolationLevel = ilSerializable;
pADOConnection->LoginPrompt = false;
pADOConnection->Mode = cmReadWrite;
AnsiString CS;
CS += "Provider=MS Remote;";
CS += "Remote Provider=Microsoft.Jet.OLEDB.4.0;";
CS += "Server=" + IP + ";";
CS += "Remote Server=" + IP + ";";
CS += "DataSourse=" + DB_Name + ";";
CS += "User ID=Admin;";
CS += "Mode=ReadWrite;";
CS += "Extended Properties=\"\";";
pADOConnection->ConnectionString = CS;
pADOConnection->Connected = true;
// уже настроенный на существующую таб. и на ADOConnection
ADOTable1->Active = true;
// Получаю в рантайм: ...EOleException... не удается создать бизнес-объект (в DataSourse - указываю полный путь к БД), если же в DataSourse указываю предварительно созданный в Админенстраторе ODBC источник данных, то выдается "интерфейс не поддерживается"
Цитата:
Originally posted by nirvikalpa
спасибо за имена таблиц.
...а при чем ADO к удаленной базе? - в самом деле непричем =), просто нужно через ADO.
Более конкретно про вопрос с удаленной БД.
Кладем на удаленной машине БД (some.mdb), клиент должен подключаться к ней. (я ниже пробую через MS Remote) Хочется повозможности чтобы не нужно было создовать серверного приложения и желательно использовать у книента ADO. Это возможно??? Можно допустить настройку в ODBC источника данных на стороне сервера... Код для клиента приведен ниже:
// Получаю в рантайм: ...EOleException... не удается создать бизнес-объект (в DataSourse - указываю полный путь к БД), если же в DataSourse указываю предварительно созданный в Админенстраторе ODBC источник данных, то выдается "интерфейс не поддерживается"
спасибо за имена таблиц.
...а при чем ADO к удаленной базе? - в самом деле непричем =), просто нужно через ADO.
Более конкретно про вопрос с удаленной БД.
Кладем на удаленной машине БД (some.mdb), клиент должен подключаться к ней. (я ниже пробую через MS Remote) Хочется повозможности чтобы не нужно было создовать серверного приложения и желательно использовать у книента ADO. Это возможно??? Можно допустить настройку в ODBC источника данных на стороне сервера... Код для клиента приведен ниже:
Код:
AnsiString DB_Name = DBNam->Text;
AnsiString IP = IPAddr->Text;
pADOConnection->Connected = false;
pADOConnection->IsolationLevel = ilSerializable;
pADOConnection->LoginPrompt = false;
pADOConnection->Mode = cmReadWrite;
AnsiString CS;
CS += "Provider=MS Remote;";
CS += "Remote Provider=Microsoft.Jet.OLEDB.4.0;";
CS += "Server=" + IP + ";";
CS += "Remote Server=" + IP + ";";
CS += "DataSourse=" + DB_Name + ";";
CS += "User ID=Admin;";
CS += "Mode=ReadWrite;";
CS += "Extended Properties=\"\";";
pADOConnection->ConnectionString = CS;
pADOConnection->Connected = true;
// уже настроенный на существующую таб. и на ADOConnection
ADOTable1->Active = true;
AnsiString IP = IPAddr->Text;
pADOConnection->Connected = false;
pADOConnection->IsolationLevel = ilSerializable;
pADOConnection->LoginPrompt = false;
pADOConnection->Mode = cmReadWrite;
AnsiString CS;
CS += "Provider=MS Remote;";
CS += "Remote Provider=Microsoft.Jet.OLEDB.4.0;";
CS += "Server=" + IP + ";";
CS += "Remote Server=" + IP + ";";
CS += "DataSourse=" + DB_Name + ";";
CS += "User ID=Admin;";
CS += "Mode=ReadWrite;";
CS += "Extended Properties=\"\";";
pADOConnection->ConnectionString = CS;
pADOConnection->Connected = true;
// уже настроенный на существующую таб. и на ADOConnection
ADOTable1->Active = true;
// Получаю в рантайм: ...EOleException... не удается создать бизнес-объект (в DataSourse - указываю полный путь к БД), если же в DataSourse указываю предварительно созданный в Админенстраторе ODBC источник данных, то выдается "интерфейс не поддерживается"
CopyRight "Не мой" :)
Код:
Я бы добавил еще несколько примеров по составлению командной строки для обращения к другим провайдерам с использованием ADO.
Access: "Provider=MSRemote;RemoteServer=http://myFolder;RemoteProvider= Microsoft.Jet.OLEDB.4.0; DataSource=mydb.mdb" (удаленный доступ к филиалу)
Excel: "Provider=Microsoft.Jet.OLEDB.4.0;DataSource= test.xls;ExtendedProperties=""Excel8.0; HDR=Yes;"";" (работа с электронными таблицами)
Oracle: "Provider=OraOLEDB.Oracle;DataSource=mydb;UserId=xxx;Password=;" (подключение через Oracle)
SQL server: "Provider=sqloledb;NetworkLibrary=DBMSSOCN;DataSource=xxx;InitialCatalog=myFolder; UserId=xxx;Password=;" (Microsoft SQL server)
Access: "Provider=MSRemote;RemoteServer=http://myFolder;RemoteProvider= Microsoft.Jet.OLEDB.4.0; DataSource=mydb.mdb" (удаленный доступ к филиалу)
Excel: "Provider=Microsoft.Jet.OLEDB.4.0;DataSource= test.xls;ExtendedProperties=""Excel8.0; HDR=Yes;"";" (работа с электронными таблицами)
Oracle: "Provider=OraOLEDB.Oracle;DataSource=mydb;UserId=xxx;Password=;" (подключение через Oracle)
SQL server: "Provider=sqloledb;NetworkLibrary=DBMSSOCN;DataSource=xxx;InitialCatalog=myFolder; UserId=xxx;Password=;" (Microsoft SQL server)
Лично не проверял работоспособность. Логинился через шары. А также шарился автоматически и закрывал шары.
Цитата:
Originally posted by mainigor
CopyRight "Не мой" :)
Лично не проверял работоспособность. Логинился через шары. А также шарился автоматически и закрывал шары.
CopyRight "Не мой" :)
Код:
Я бы добавил еще несколько примеров по составлению командной строки для обращения к другим провайдерам с использованием ADO.
Access: "Provider=MSRemote;RemoteServer=http://myFolder;RemoteProvider= Microsoft.Jet.OLEDB.4.0; .......
Access: "Provider=MSRemote;RemoteServer=http://myFolder;RemoteProvider= Microsoft.Jet.OLEDB.4.0; .......
Лично не проверял работоспособность. Логинился через шары. А также шарился автоматически и закрывал шары.
спасибо, попробую разобираться с этим. Вроде как это и есть пример с шарами? httpmyFolder - расделенная с другими папка?...
думаю еще в сети поискать информации на тему MSRemote.