添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

We run a VBA script through excel to update a Siebel database, works perfectly in x86 OS but not in x64. Obviously all the files are x86.

The code is throwing an error: [4096] An Oracle database error has occurred. Possibly the database name is invalid.

The correct connection is definitely referenced correctly (its loaded from a cfg file setup for the actual Siebel applcation, which works fine)

The ODBC connection is shown in the odbcad32 applications (the x86 version not x64)

Through Siebel we can force it to run x86 with a parameter, is there anyway we can force excel to connect to the x86 connection?

If you have a 64-bit ODBC connection, I would remove it. Maybe rename it, but better to remove it. 32-bit Excel has to talk to 32-bit ODBC, and truth be told 64-bit doesn't buy you anything on the client side. Hambone Aug 24, 2016 at 2:12 I have completely removed all 64-bit connections just to be safe, even deleted the registry values for it, still won't pickup the 32-bit ones daniel.henley Aug 24, 2016 at 2:17 It is 32 bit, I've just done a fresh install of all components and still having the exact same issue daniel.henley Aug 25, 2016 at 0:30

You will have to use 32bit version of Excel. And have 32bit drivers for the database. I am using a similiar vb macro in excel and this still works for me.

Years ago, I based my custom excel sheet on this Sel2xl.xls file , and modified on it. It connects to ODBC via DSNs, and it still works till date. Try and test this on your instance, you can see the macro code if it works.

That's the thing, I am definitely using 32bit excel and 32bit drivers. Are you running a 64bit os? daniel.henley Aug 24, 2016 at 21:52 Yes @daniel.henley, I am on Win7-64bit. But I got excel and oracle drivers 32 bit installed, because siebel.exe and tools.exe are all 32 bit. My macros work fine. Ranjith R Aug 25, 2016 at 6:10 I'm definitely using the same software then. Are you using the Siebel Oracle80 driver for the dsn? My DSN is currently pointed to the fin2000\bin\seor815.dll, and its working fine for tools and siebel connections, just not in excel. Have you connected to the siebel database by loading the cfg file? Documentation for it is here link daniel.henley Aug 25, 2016 at 22:12 Hi again Ranjith. The excel file you attached allows direct modification of the database, but what we are currently using is the COM Data Server, documented here [link] ( docs.oracle.com/cd/E05553_01/books/OIRef/… ). No matter what I do I still can't get it working. The reason we use this is any modifications that we make are made as a front end Siebel user, which means all business rules and such are followed, and the SiebelDataServer.ApplicationObject gives a lot of functionality. Any ideas? daniel.henley Sep 1, 2016 at 4:58

I know I'm a few months late to the party, but based on a comment on an answer above it looks like you are trying to use the custom DataDirect Oracle driver that comes packaged with Siebel. You can't use that outside of the Siebel software because it requires a license key that only the Siebel software can provide. Try it with your own DSN using the plain old Oracle ODBC driver.

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question . Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers .