Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Incalzire casa fara gaz/lemne

Incalzire in pardoseala etapizata

Suprataxa card energie?!

Cum era nivelul de trai cam din a...
 probleme cu ochelarii

Impozite pe proprietati de anul v...

teava rezistenta panou apa calda

Acces in Curte din Drum National
 Sub mobila de bucatarie si sub fr...

Rezultat RMN

Numar circuite IPAT si prindere t...

Pareri brgimportchina.ro - teapa ...
 Lucruri inaintea vremurilor lor

Discuții despre TVR Sport HD.

Cost abonament clinica privata

Tremura toata, dar nu de la ro...
 

Conectare SQL server

- - - - -
  • Please log in to reply
5 replies to this topic

#1
RomiBoy

RomiBoy

    New Member

  • Grup: Members
  • Posts: 10
  • Înscris: 14.12.2005
Salut baieti.

Am si eu o nedumerire legat de vb6 care il folosesc. Incepator.
Am citit prin forum, cum vb6 voua vi se pare usor.OK

  Am un proiect care citeste tabele dintr-un server SQL. Serverul momentan este instalat la mine pe Comp. OS= XPsp2. Pana acuma e OK. Proiectul functioneaza, dar nu este pentru mine. Este pentru altcineva, care poate avea statii XP si win2000, nu cred ca asta ar fii problema.
  Numele serverului meu este diferit fatza de numele serverului pe care va fii folosit. Baza de date va avea aceeasi denumire. Cum pot dupa compilare, respectiv instalare, sa se creeze in registrii un camp unde sa pot seta numele serverului la care vreau sa conectez aplicatia. Am mai intrebat in coace si in colo, si mi sa spus ca instalerul face asta, nu Package Wizardul din VB6.
  Se poate face asa ceva in VB6. Adica instalez aplicatia pe o statie intro retea sau domeniu, apoi sa intru in registrii si sa setez numele serverului din retea sau din domeniu, pe care sa se connecteze aplicatia; baza de date pastreaza acelasi nume si pe un server si pe altul.
  Pentru conecsiune am folosit mai multe class module, unde am creat componentele pentru connecsiune.
  Imi sugerati o solutie mai buna pentru conecsiune? Si ce solutii ar fii pentru setarea numelui serverului.

Multumesc.

Edited by RomiBoy, 14 December 2005 - 13:02.


#2
Costel_Ureche

Costel_Ureche

    New Member

  • Grup: Members
  • Posts: 20
  • Înscris: 31.08.2005
Solutia pe care o folosesc eu e destul de simpla cred. Trebuie sa ai un file .ini in care citesti setarile. Eu de obicei il pun mereu in folderul unde merge aplicatia adica MACCHINA_INI=app.path & "\" & app.exename & ".ini"

Dim i            As Integer
Dim tmp          As String * 255
Dim MACCHINA_INI       As String
    
MACCHINA_INI = APP.Path + "\" + APP.EXEName + ".INI"

In file-ul .ini am scris:
[PATH]
ORACLEService = ServiciulConfigurat
UserIDPasswd = user/password

in modul am declarat:
Public OraService       As String
Public OraUserIDPasswd  As String
Public OraSession   As Object
Public OraDB        As Object

Cu ajutorul unor API citesc acest file .ini
Declare Function GetProfileInt Lib "kernel32" Alias "GetProfileIntA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal nDefault As Long) As Long
Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
Declare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long



    i = GetPrivateProfileString("ORACLE", "ORACLEService", "", tmp, Len(tmp), MACCHINA_INI)
    OraService = Mid$(tmp, 1, i)
    
    i = GetPrivateProfileString("ORACLE", "UserIDPasswd", "", tmp, Len(tmp), MACCHINA_INI)
    OraUserIDPasswd = Mid$(tmp, 1, i)

apoi deschid sesiunea:

    Set OraSession = CreateObject("OracleInProcServer.XOraSession")
    Set OraDB = OraSession.OpenDatabase(OraService, OraUserIDPasswd, 0&)

pentru a crea un recordset folosesc:
sql = ""
            sql = sql & "SELECT * From " & TABELLA & " Where "
            etc etc etc
            
            Set rst = OraDB.dbcreatedynaset(sql, 0&)


Sper ca ti-am fost de folos


View PostRomiBoy, on Dec 14 2005, 13:56, said:

Salut baieti.

Am si eu o nedumerire legat de vb6 care il folosesc. Incepator.
Am citit prin forum, cum vb6 voua vi se pare usor.OK

  Am un proiect care citeste tabele dintr-un server SQL. Serverul momentan este instalat la mine pe Comp. OS= XPsp2. Pana acuma e OK. Proiectul functioneaza, dar nu este pentru mine. Este pentru altcineva, care poate avea statii XP si win2000, nu cred ca asta ar fii problema.
  Numele serverului meu este diferit fatza de numele serverului pe care va fii folosit. Baza de date va avea aceeasi denumire. Cum pot dupa compilare, respectiv instalare, sa se creeze in registrii un camp unde sa pot seta numele serverului la care vreau sa conectez aplicatia. Am mai intrebat in coace si in colo, si mi sa spus ca instalerul face asta, nu Package Wizardul din VB6.
  Se poate face asa ceva in VB6. Adica instalez aplicatia pe o statie intro retea sau domeniu, apoi sa intru in registrii si sa setez numele serverului din retea sau din domeniu, pe care sa se connecteze aplicatia; baza de date pastreaza acelasi nume si pe un server si pe altul.
  Pentru conecsiune am folosit mai multe class module, unde am creat componentele pentru connecsiune.
  Imi sugerati o solutie mai buna pentru conecsiune? Si ce solutii ar fii pentru setarea numelui serverului.

Multumesc.


#3
Marmota

Marmota

    Member

  • Grup: Members
  • Posts: 381
  • Înscris: 24.09.2005
Folosirea unui fisiere de configurare *.ini este o ideea buna la modul general. Mergand pe aceeasi linie se pot scrie si citi in registrii sistemului de operare date de configurare mult mai simplu decat solutia prezentata mai sus folosinf functiile:
Function GetSetting(AppName As String, Section As String, Key As String, [Default]) As String
	Member of VBA.Interaction
	Returns a key setting value from an application's entry in the Windows registry
si
Sub SaveSetting(AppName As String, Section As String, Key As String, Setting As String)
	Member of VBA.Interaction
	Saves a setting under the specified appname, section and key


In ceea ce priveste problema lui romy exista o solutie foarte simpla. ea se numeste SQL Server Client Netweork Utility. Folosind acest utilitar poti sa-ti definesti un alias care sa faca referinta la un alt server SQL.

#4
Costel_Ureche

Costel_Ureche

    New Member

  • Grup: Members
  • Posts: 20
  • Înscris: 31.08.2005
E interesant ceea ce am citit, o sa incerc sa folosesc si eu solutia aia, din pacate ar trebui cind merg la un client sa pornesc un programel care sa-mi scrie in registru si nu pot face asta, pentru noi e mai usor sa scriem in file .ini deoarece destul de des schimbam/adaugam/stergem setari prin telefon cu clientul, care de multe ori este...bita la capitolul informatica si e mai bine sa nu se obisnuiasca sa bage mina in registre :-)))
Inca ceva, eu ma refeream la Oracle, am citit gresit, era vorba despre sql server, oricum folosim tot asa un file .ini apoi deschidem o connection spre serverul respectiv.Merci marmota pentru comentariu! Ciao

#5
Marmota

Marmota

    Member

  • Grup: Members
  • Posts: 381
  • Înscris: 24.09.2005
In ceea ce priveste registrii SO m-ai inteles eronat: ideea este sa realizezi un program separat in VB care sa foloseasca cele 2 functii, program care va permite modificarea anumitor setări din acești regiștri.

#6
Costel_Ureche

Costel_Ureche

    New Member

  • Grup: Members
  • Posts: 20
  • Înscris: 31.08.2005
"din pacate ar trebui cind merg la un client sa pornesc un programel care sa-mi scrie in registru si nu pot face asta, pentru noi e mai usor sa scriem in file .ini deoarece destul de des schimbam/adaugam/stergem setari prin telefon cu clientul, care de multe ori este...bita la capitolul informatica si e mai bine sa nu se obisnuiasca sa bage mina in registre :-)))
"
Pai...exact aia am zis si eu, explicind faptul ca nu e recomandat (in cazul meu) sa-l fac pe client sa porneasca acel programel (pentru simplul motiv ca nu pot sa ma duc eu la el) ca sa schimbe setarile din registru (motivul e simplu...unii sint departe). Dar chestia ta e foarte valabila, o sa incerc sa vad cum as putea face ceva in automatic cind fac un update la vreun program. Merci de sugestie! Ciao

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate