stremer
(usa Arch Linux)
Enviado em 03/04/2008 - 11:28h
acho que não vai ser facl, mas vamos la aos caminhos das pedras.
Eu nunca instalei o client oracle do windows via wine no linux, mas conheco pessoas que o ja fizeram e foi bem sucedido ao ponto de abrir o sqlplus e se conectar com a base podendo fazer qualquer operação nela através dele. Quanto as outras ferramentas administrativas do oracle, algumas tiveram incompatibilidade mas não serão necessárias nesse caso.
Comece instalando o client do Oracle.
Depois você vai ter que mudar o esquema de conexão para ODBC pois pelo que vi vai ser um dos poucos jeitos que funciona. Não tive mto tempo pra procurar mas achei uma documentação informando como usar OBDC com o Wine. Segue abaixo:
5.13.1. Using a Unix ODBC system with Wine
The first step in using a Unix ODBC system with Wine is, of course, to get the Unix ODBC system working itself. This may involve downloading code or RPMs etc. There are several Unix ODBC systems available; the one the author is used to is unixODBC (with the IBM DB2 driver). Typically such systems will include a tool, such as isql, which will allow you to access the data from the command line so that you can check that the system is working.
The next step is to hook the Unix ODBC library to the wine built-in odbc32 DLL. The built-in odbc32 (currently) looks to the environment variable LIB_ODBC_DRIVER_MANAGER for the name of the ODBC library. For example in the author's .bashrc file is the line:
export LIB_ODBC_DRIVER_MANAGER=/usr/lib/libodbc.so.1.0.0
If that environment variable is not set then it looks for a library called libodbc.so and so you can add a symbolic link to equate that to your own library. For example as root you could run the commands:
# ln -s libodbc.so.1.0.0 /usr/lib/libodbc.so
# /sbin/ldconfig
The last step in configuring this is to ensure that Wine is set up to run the built-in version of odbc32.dll, by modifying the DLL configuration. This built-in DLL merely acts as a stub between the calling code and the Unix ODBC library.
If you have any problems then you can use the debugmsg channel odbc32 to trace what is happening. One word of warning. Some programs actually cheat a little and bypass the ODBC library. For example the Crystal Reports engine goes to the registry to check on the DSN. The fix for this is documented at unixODBC's site where there is a section on using unixODBC with Wine.
5.13.2. Using Windows ODBC drivers
Native ODBC drivers have been reported to work for many types of databases including MSSQL and Oracle. In fact, some like MSSQL can only be accessed on Linux through a Winelib app. Rather than just copying DLL files, most ODBC drivers require a Windows-based installer to run to properly configure things such as registry keys.
In order to set up MSSQL support you will first need to download and run the mdac_typ.exe installer from microsoft.com. In order to configure your ODBC connections you must then run CLICONFG.EXE and ODBCAD32.EXE under Wine. You can find them in the windows\system directory after mdac_typ runs. Compare the output of these programs with the output on a native Windows machine. Some things, such as protocols, may be missing because they rely on being installed along with the operating system. If so, you may be able to copy missing functionality from an existing Windows installation as well as any registry values required. A native Windows installation configured to be used by Wine should work the same way it did when run natively.
Depois disso o terceiro passo é fazer sua aplicação acessar o Oracle pelo ODBC, mas isto acredito não ser problema.
Desvantagens: Você irá perder performance e talvez alguns recursos do COM+. Agora se a DLL for apenas uma DLL Burra compilada para compatibilidade no COM+ mas que não faça nada alem de acessar o banco, não vai ter muita diferença.
Acho que agora você tem bastante trabalho pela frente. A partir de agora não posso te ajudar mais a não ser que eu monte um ambiente parecido que levaria tempo e infelizmente não poderia tar fazendo isto nos próximos dias.
Espero ter ajudado até então.
Abs