We are considering a 64 bit Server 2008 installation. We have stored procedures with external CLR calls. Can someone clarify the "older interface" statement in the 64 bit server limitations so I can understand if I should be worried or not?

http://www.sybase.com/detail?id=1069354#SA Footnote 2 "The older interface to external stored procedures is available only in 32-bit software."

Thanks

asked 15 Jul '10, 22:43

Bill%20Aumen's gravatar image

Bill Aumen
2.0k294473
accept rate: 16%

edited 16 Jul '10, 08:40

Volker%20Barth's gravatar image

Volker Barth
29.6k294444650


In my understanding, this refers only to external C calls. Therefore, I would conclude that this is no limitation at all for external functions in any other language, including the CLR environment you are using.

Historically, there has been an very old C external call interface which has been replaced a long time ago in V7. From the SA 12 docs:

The interface described in this section replaces an older interface, which has been deprecated. Libraries written to the older interface, used in versions before version 7.0.x, are still supported, but in any new development, the new interface is recommended. Note that the new interface must be used for all Unix platforms and for all 64-bit platforms, including 64-bit Windows.

For C external calls, one has to include a partícular function named *extfn_use_new_api* in an external DLL to use that "new" interface.

permanent link

answered 16 Jul '10, 08:39

Volker%20Barth's gravatar image

Volker Barth
29.6k294444650
accept rate: 32%

Volker,

You are correct that the "older interface..." message refers only to C calls, not CLR calls. Having said that, please be advised that the older interface is not at all supported for external C calls.

Karim

permanent link

answered 16 Jul '10, 12:09

Karim%20Khamis's gravatar image

Karim Khamis
5.6k53870
accept rate: 40%

Karim, are you relating to external C calls in the sense of external environment calls, i.e. declared with "language C_ESQL32" and the like? - AFAIK, the old interface declared in dllapi.h should still work for external C calls running in the server's context, i.e. without the language clause. (That's my thought but I've never used that old interface.)

(16 Jul '10, 13:21) Volker Barth

Thanks Volker and Karim.

(16 Jul '10, 15:46) Bill Aumen
1

Yes Volker, you are correct, the old interface is still supported for in-process external C calls. I was specifically referring to the fact that the old interface is not supported for external environment C calls.

(16 Jul '10, 18:29) Karim Khamis

@Bill: If one of the answers does really answer your question, I would invite you to mark that as "accepted". Otherwise, feel free to ask for more explanations. - Well, and if more than one answer seems fitting, use a dice or so:)

(19 Jul '10, 07:43) Volker Barth
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×36
×22
×22
×10

question asked: 15 Jul '10, 22:43

question was seen: 1,138 times

last updated: 16 Jul '10, 12:09