Dajte ideja
21 отговора
10 прегледа
Dajte ideja
Znachi cjala sutrin tapeja nad slednoto:
Imam DB na SQL server 7. Pisha edno prilozhenie na VB 6,0, v sastnost edin class. kakto i da e. Iskam da skaniram Indexes za vsjaka table v DB. Ima edna store procedure "sp_indexes", obache nesto ne ste. Javno parametrite koito iska ne mu gi serviram kakto trjabva. Priemam predlozhenija i idei.
Mersi predvaritelno na vsichki otzovali se.
Thanks a lot.
кивай сега.
защо просто не използваш... има една библиотека, дето идва със SQL седмицата... SQL DB ли беше... абе ше я киваш, има я мисля в References... та начи, вътре има обекти за всичко - като почнеш от SQL Server group, и свършиш с Field на таблица - доста е удобно за работа с VB. за нема и толко време можеш да напишеш произволно нещо- направо не е за вярване. пробвай го, става страшно лесно.
ако все пак си решила да използваш sp_indexes, кажи през какво го викаш - ADO ли?
поправка - SQL - DMO
не е SQL - DB, SQL - DMO (или поне тва трябва да се съдържа в името на Reference)
Umnica sam ....
V sastnost opravih se i mersi za ideite. Da zabravih da kazha che polzvam DAO 3,6 i si imam vrazka chrez ODBC za serevera. V sastnost sastestvuva i eda druga store procedure v SQLa
sp_helpindex [@objname =] 'name'
deto na objject name si praskash imeto na tablicata i pej sarce,
i si ti dava vsichko kakvoto ti trjabva.
Mersi vse pak.
моля, моля... :)
ако ти трябва нещо за тоя сървър, обаждай, доста съм си чупил главата с него
мi stom si ja chupil ...
davaj sega pak da te pitam nesto. Namerih go v reference. Naistina ima vsichko sto dusha ti iska. Obache pak iztapjah, znaechi da mu se nevidi kak da si ukazha DB? S DAO i Ado e jasno,
opendatabase, connect i t.n. Tam vidjah edno getdatatypebyname ama pak se sardi.
Ta vaprosa mi kak da stane tova? Sega otivam pak da cheta.
Mersi predvaritelno.
начи:
ако си разбрала как да изпълниш метода Connect на SQLServer обекта, оттам е лесно. той, като гледам хелпа, има collection Databases, referenc-ваш я по име и тва е. ако имаш проблем с connecta, пиши.
начи:
Ami probvah be i ne ste i ne ste. Chudja se veche kakvo da mu prasna. Pravja si connecta prez ODBC. ne sto ne mu harsva
чакай, чакай
какво ODBC... нали за SQL-DMO-то стаа въпрос? там от такива неща няма нужда. начи имаш следната последователност от обекти
application.SQLServers(името_на_твоя_сървър) - тва ти връща SQLServer обект. той има пропъртита Login и Password и метод Connect. като изпълниш Connect-а, използваш SQLServer.Databases(името_на_твойта_база) - това връща Database обект.
ако имаш проблеми нататъка, пиши. (а също ако имаш проблеми и с това по-горе де :))
чакай, чакай
ok. ste probvam tova. Ami njamam si help ili nesto ot sorta na "how to" i naluchkvam zdravata. Mersi. Samo che maj utre ste go macha, zastoto mi pisna ot tova chudo dnes. Znachi do utre.
Pak mersi
чакай, чакай
имай предвид, че библиотеката става песен, след като се connect-неш - направо е фърхъ - така че не се отказвай.
айде. ако имаш ядове - пиши.
оооооопс!
май те изработих - доколкото виждам, не става през SQLServers collection-a. далаверката била така май:
Dim Server as New SQLDMO.SQLServer
with Server
.name=името_на_твоя_сървър 'само тука не съм сигурен
.login=твоя_UserName
.password=твоя_Password
.Connect
end with
sorry, че не ти ги казвам нещата със 100% сигурност, обаче нямам в момента нито SQL Server, нито SQL-DMO, и карам само на сух хелп и спомени :)
чакай, чакай
Utre ste go trepam. Obache sega se sestam i nesto drugo ima li njakakva funkcija deto da mi vurne da kazhem sql serverite v mrezhata. Pitam stoto ideja si njamam ot tova SQL DMO a i help si njamam. Taka che maj ste prodalzhavam da si pitam.
Mersi. i chao za sega.
oooops
Tova mi izglezhda dosta dobre. Ste go probvam i ste ti kazha dali suhite help-ove varshat rabota.
Ako ima nesto utre sam pak na linija.
чакай, чакай
амиии, глей сега, то много-много тоя тип неща (дейта сървъри и въобще сървъри) не прават (и не би и трябвало) разлика между LAN и WAN - демек, като питаш за сървърите в мрежата, за коя мрежа - за мрежата или за МРЕЖАТА?
има там една простотийка - SQLDMO.Application требе да има ServerGroups collection, който съдържа ServerGroup item-и. ServerGroup обекта има от своя страна RegisteredServers collection и отново ServerGroups collection - и ето ти едно рекурсивно дръвче, като на всяко ниво може да имаш както групи сървъри, така и сървъри. цялата тая работа обаче е малко фалшименто, понеже се базира на информация, предварително записана (на практика от теб) в Registry-то. няма никакви магически обръщения по мрежата да пита е ли има сървър тук и там, е ли няма. то и не е възможно де, щото като е загасен някой сървър (или директно машината) - кой, кой ще му каже? има да си върви по света и да си подсвирква даже... и т.н. и т.н.
Da si poblaskame glavite ....
Znachi sledvajki tova deto me posavetva i saglasno umnite glavi ot Microsoft imam slednoto:
dim MyServer as SQLDMO.SQLServer
Set MyServer = CreateObject("SQLDMO.SQLServer")
With MyServer
.Name = SQLServerName
.Login = "sa"
.Password = ""
.Connect - i tuka garmi majka plache
End With
Set SQLDB = MyServer.Databases(SQlDBName)
Greshkata deto mi dava e slednata:
ODBC SQL Server Driver/ TCP/IP sockets.
Proverih si vsichko mi izglezhda v red. Njakakva ideja?
Mersi
хм
на кой ред ти дава грешката?
(и защо използваш
Set MyServer = CreateObject("SQLDMO.SQLServer"
вместо
Set MyServer=New SQLDMO.SQLServer
или направо
Dim MyServer as new SQLDMO.SQLServer
)
не вярвам проблема да е там, но е възможно да изникне по-рано, понякога даже на компилация. +тва е по-бързо и е гарантирано че ще работи и с японската (примерно) версия на същия компонент (SQLDMO-то). :). Въобще, избягва CreateObject, той е бавен, но затова пък несигурен, пък и ако направиш правописна грешка, я откриваш run-time.
на тоя компютър има ли инсталирана клиентската част на MS SQL Server-a? (абе, конзолата там, с дръвчето вляво и т.н.)?
хм
пробвай следното нещо
.Connect MySQLServerName,"sa",""
и разкарай трите реда с името, usera и паролата.
хм
Estestveno che ja imam instalirana. Razkarah go CreateObject predi dosta vreme. Nesto ne mu haresva s ODBC to. Pone takava greshka mi dava za TCP/IP Sockets. Ne smjatam che e v code. Po skoro e njakade v protokolite. Ste se rovja oste.
No inache vsjaka ideja i info e dobre doshla.