sql >> Database teknologi >  >> RDS >> Oracle

VB6 applikation oracle 12 64bit forbindelse

OLE-DB

gode nyheder og dårlige; fordi Visual Basic 6.0 er et 32 ​​bit program uden 64 bit compiler, er 32 bit Oracle Data Access Components software skal installeres, selvom selve databasen kører på en 64 bit server i en 64 bit Oracle Database installation, specifikt skal du bruge 32 bit Oracle Provider for OLE DB frem for hele klienten.

Driveren kan findes her (Download ODAC XCopy-versionen):http://www.oracle.com/technetwork/database/windows/downloads/utilsoft-087491.html

Følgende tråd beskriver dit nøjagtige problem og instruktioner til at løse det:https://hoopercharles.wordpress.com/2012/11/25/connecting-to-an-oracle-database-with -visual-basic-6-0-on-windows-8-64-bit/

ODBC-drivere

En anden måde at oprette forbindelse på er at bruge ODBC-drivere i stedet, der er fordele og ulemper ved hver metode, så google for at finde dem.

Først skal du installere SQORA32 ODBC driver som følger med 64-bit-klienten eller med ODAC, der er linket ovenfor.

Dernæst skal du oprette en ODBC-forbindelse, instruktioner kan findes her:https://tensix.com/2012/06/setting-up-an-oracle-odbc-driver-and-data-source/

Til sidst skal du ændre dine forbindelsesstrenge i VB6 for at bruge de nyoprettede ODBC-forbindelser. Noget i retning af det følgende burde fungere fint (naturligvis nameOfDatabase er navnet på din odbc-forbindelse):

Provider=MSDASQL;Dsn=nameOfDatabase;Uid=usernameHere;Pwd=passwordHere

Vær forsigtig, når du konfigurerer dit DSN, sørg for at bruge 32-bit ODBC-forbindelsesadministratoren, som kan findes på følgende placering:

c:\windows\sysWOW64\odbcad32.exe

Det samme program kan findes i system32 mappe, men det er 64-bit versionen... overhovedet ikke forvirrende!



  1. Konverter en kompleks SQL-forespørgsel til SQLAlchemy

  2. Forskelle mellem INDEX, PRIMARY, UNIQUE, FULLTEXT i MySQL?

  3. Hvorfor stopper MySQL unix-tiden kort efter grænsen på 32 bit usigneret heltal?

  4. Postgres indsæt kun række, hvis rækkeantallet er under en grænse