|
Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема
|
vapros za bazi danni
|
|
Автор |
Evgeny Kumanov () |
Публикувано | 12.07.00 10:21 |
|
Zdraveite,
pak sam az i pak shte vi izmacha s tapite si vaprosi. Tozi pat vaprosat mi e orientiran predimno kam horata, koito se zanimavat s Java, no mislia che i tezi koito rabirat ot bazi danni sashto biha mi pomognali. Znachi triabva da polucha informacia za vsichkite tablici, koito se namirat v bazata, no ne znam kak stava. Ima edin interface v API-to, koito se naricha DatabaseMetaData i koito mi dava informacia, kakto sigurno znaete, za bazata danni, no taka i ne moga da razbera koi metod bi mi varnal vsichkite nalichni tablici. Ima edin metod getCatalogs() , koito podoziram, che pravi neshto takova (pishe, che vrashta katalojnite imena v bazata), no ne mi e iasna terminologiata - kakvo se razbira pod katalog ? Predpolagam, che tova e osnovno poniatie v bazite danni, no iavno oshte ne sam go prochel - sajaliavam, ne me uprekvaite. Ako niakoi moje da mi pomogne v konkretnia problem - da izvleka informacia za vsichki tablici v edna baza shte mu bada blagodaren, no sashto taka bih se radval i ako mi obiasnite kakvo znachi katalog.
| |
|
Ако ползваш MS SQL server:
select * from sysobjects where OBJECTPROPERTY(id, N'IsUserTable') = 1)
Това ще ти върне имената на всички таблици, дефинирани в текущата база данни.
Ако ползваш друг сървер - погледни хелпа за него. Някъде на самия сървер има инфо за всички таблици. Най-често е в системна таблица.....
| |
|
нещо много мътно ми звучи, а пък съм гледал по-известните DB-та... за какво иде реч? (Oracle, MS SQL Server, друго?, а, и версията да не забравиш)
| |
|
Bazata e oracle, no koia versia - ne znam. Shte pitam adminite. V url-to ima thin, moje bi oznachava neshto. Triabva da napravia explorer za DB i v nego da ima darvo, koeto da sadarja nalichmite tablici, kato izpolzvam JDBC. V Java-ta ima edin klas ResultSetMetaData, koito sadarja goliama informacia za bazata, kam koiato e connect-nato, no ne razbrah koi metod shte mi varne imenata na nalichnite tablici. Inache vsichko mi e gotovo, no prosto niamam darvo na explorer-a. Osven tova sa mi kofti driverite za bazata, zashtoto kogato poiskam informacia za imeto na tekushtata tablica tozi ResultSetMetaData ne mi vrashta nishto. Mai biah malko neiasen, no sajaliavam, che ne moga da obiasniavam dobre tezi neshta - nikoga predi ne sam se zanimaval s DB.
| |
|
скивай сега. аз съм много бос в жабата, обаче намерих туй-онуй и може и да ти свърши работа.
има един клас -
DatabaseMetaData, който има метод
GetTables:
public abstract ResultSet getTables( String catalog, String schemaPattern, String tableNamePattern, String types[] ) throws SQLException
параметри:
1.Catalog-а, за който искаш таблиците (слагаш null за всички), 2.schemaPattern (обяснението е "schema pattern" - аха, стана ли ти ясно :)?), но за него слагаш празен стринг и дава всичко. 3.tablePattern - предполагам маска за името на таблиците?
4.types[] - null за всички.
а DatabaseMetaData си го гепваш от Connection.getMetaData
абе сичко тва го има в MSDN. ако го нямаш, съветвам те да си го намериш - най невероятния help след TechHelp-a :)
| |
|
Ami imam i az edna idejka. Ako bazata ti e na SQL server 7,00 ima edno query "sp_help" deto ti dava vsichki tablici v bazata danni. Az izpolzvam DAO, otvarjam si edin recordset s tova query. Sled tova si pravja edin cikal i si vsimam .Fields("object_type") = "user table"
i si vzimam imeto taka: .fields("name"). Tova razbira se edin opit da ti prehvarlja edna ideja. Nadjavam se da ti pomogne.
Uspeh
| |
Тема
|
znachi tova thin oznachava .....
[re: ???]
|
|
Автор |
UTP () |
Публикувано | 18.07.00 12:31 |
|
Znachi tova thin oznachava che polzvash JDBC Thin driver, toi e napisan izcqlo na java.
Ako pravish applet tozi thin driver e edinstveniq koito mojesh da izpolzvash, ako pravish java prilojenie (predpolagam znaesh razlikata mejdu java applet i java application) mojesh da izpolzvash i drugite driveri. Za Orcale informaciqta za nalichnite tablici v bazata se namira kato rezultat ot slednata zaqwka:
SELECT TABLE_NAME FROM ALL_TABLES
Osven tova shte ti e pochti nevuzmojno da pishesh kakvoto i da bilo ako ne znaesh kakva versiq e, naj-malkoto za vruzka s bazata shte ti trqbva podhodqshta versiq na JDBC Driver-a za suotvetniq Oracle!
| |
Тема
|
абе хора, кво общо има тва?
[re: ???]
|
|
Автор |
Кромид () |
Публикувано | 18.07.00 15:54 |
|
кво значение дали е Oracle или SQL Server или На_Баба_Пена_Дейта_Сървъра_13.0?
има си JDBC и там си има стандартни функции за тая работа, голем праз, кво има под JDBC-то. така де...
| |
Тема
|
абе хора, кво общо има тва?
[re: Кромид]
|
|
Автор |
UTP () |
Публикувано | 18.07.00 18:19 |
|
:) abe ima ....
| |
Тема
|
абе хора, кво общо има тва?
[re: Кромид]
|
|
Автор |
Кромид () |
Публикувано | 19.07.00 11:12 |
|
ми добре брато, пиши internet-приложения, като почваш от драйверите за базата. а приложението го пиши на Assembler. :)
| |
|
Страници по тази тема: 1 | 2 | >> (покажи всички)
|
|
|