簡體   English   中英

如何在PowerBuilder Classic 12.5.2中連接到SQL Server 2016?

[英]How do I connect to SQL Server 2016 in PowerBuilder Classic 12.5.2?

我支持使用SQL Server Native Client(SQLNCLI10)在PB Classic中編寫的遺留應用程序,該應用程序具有硬編碼連接字符串。 但是,SQL Server 2012之外不支持Native Client。它在2014年有效,但不受支持 我們有幾個現在正在運行SQL Server 2016但不能使用SQLNCLI10或SQLNCLI11的數據庫。據我所知,只要我們不打算使用SQL Server中的任何功能,我們就可以推出對本機客戶端的更新。 2016年,但這似乎更像是一個臨時措施,而不是一個真正的解決方案。 但是,當我嘗試從本機客戶端更改DBMS以使用DBParm中的FileDNS條目使用新的ODBC驅動程序時,客戶端始終會提示輸入DSN文件的位置和其他連接屬性。

在PowerBuilder Classic中連接到SQL Server 2016(最好使用ODBC 13 for SQL Server 2016驅動程序)的最佳方法是什么? 這是我們目前正在使用的(刷洗細節之后):

sqlca.DBMS = 'SNC SQL Native Client(OLE DB)'
this.DBParm = "Database='" + as_database + "',Provider='SQLNCLI10',Identity='SCOPE_IDENTITY()',TrimSpaces=1,StaticBind=0,PBCatalogOwner='dbo', appname = 'My Application' , host =' " + lower(ls_machine_name) + "' "

經過一些試驗和錯誤,我能夠使用以下連接:

SQLCA.DBMS = "ODBC"
SQLCA.DBParm = "ConnectString='Driver={ODBC Driver 13 for SQL Server};QuotedId=No;TrustServerCertificate=Yes;Encrypt=Yes;Trusted_Connection=Yes;SERVER=" + SQLCA.ServerName + ";'"

我進一步嘗試使用SQL身份驗證,將UID =和PWD =添加到DBParm中,替換字符串的Trusted_Connection部分。 我還添加了Database參數(初始字符串只是連接到默認的master數據庫)。 像這樣:

SQLCA.DBParm = "ConnectString='Driver={ODBC Driver 13 for SQL Server};QuotedId=No;TrustServerCertificate=Yes;Encrypt=Yes;UID="+SQLCA.Logid+";PWD="+SQLCA.LogPass+";SERVER=" + SQLCA.ServerName + ";Database="+SQLCA.Database+";'"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM