To troubleshoot, first I open up the provider. In this case, it was the OraOLEDB.Oracle provider.
I forgot to enable Allow inprocess.
Here it is correctly enabled.
What does Allow inprocess do? From the documentation:
allows the provider to be instantiated as an in-process server.
When this option is not set, the default behavior is to instantiate the provider outside the SQL Server process. Instantiating the provider outside the SQL Server process protects the SQL Server process from errors in the provider.
When the provider is instantiated outside the SQL Server process, updates or inserts referencing long columns (text, ntext, or image) are not allowed.
To read more about the settings available for linked servers, the documentation is a good read: https://docs.microsoft.com/en-us/sql/relational-databases/linked-servers/create-linked-servers-sql-server-database-engine?view=sql-server-ver15
參考來源:
https://jimsalasek.com/2021/01/05/msg-7399-level-16-state-1-linked-server-access-denied/#more-3659
SQL Server
JOIN ON 常數的用途是什麼?跟放在WHERE一樣嗎?/ FULL JOIN要注意的事項- SQL Server
命令模式(Command Pattern),舉生活中的例子才好懂,懂吃一蘭拉麵就懂命令模式 - 設計模式
VsCode如何集成Anaconda Prompt,不需修改環境變數 - Python
SEO(1) Github(2) Title Tag(2) ML(1) 李宏毅(1) SQL Server(18) Tempdb(1) SSMS(1) Windows(1) 自我成長(2) Excel(1) python Flask(1) python(5) Flask(2)
bart30508 (145)